Class SystemKeyspace

java.lang.Object
com.apple.foundationdb.system.SystemKeyspace

@API(INTERNAL) public class SystemKeyspace extends Object
Keys living in the FDB system and special keyspace. These keys are used to communicate system configuration information and related information between the FoundationDB server and client. This API is API.Status.INTERNAL and should not be consumed directly by adopters. They should instead generally be referenced through wrapper functions that exist in this project and in the Record Layer core project.

There is currently a project to provide a framework for FoundationDB clients to make use of the special key space API. As that project develops, this class may become unnecessary. See: Special-Key-Space.

  • Field Details

    • METADATA_VERSION_KEY

      public static final byte[] METADATA_VERSION_KEY
      The database's meta-data version-stamp key. This is a single key whose value is a versionstamp, bumped atomically by SET_VERSIONSTAMPED_VALUE mutations and returned to every client alongside its transaction's read-version — so reading it costs zero storage-server round-trips. Designed to be used as a coordinated cross-process cache-invalidation broadcast: any transaction (from any client) that bumps the stamp causes every other client's next read to see a new value, which can be used to invalidate stale local cache entries.
      See Also:
    • PRIMARY_DATACENTER_KEY

      public static final byte[] PRIMARY_DATACENTER_KEY
    • TIMEKEEPER_KEY_PREFIX

      public static final byte[] TIMEKEEPER_KEY_PREFIX
    • CLIENT_LOG_KEY_PREFIX

      public static final byte[] CLIENT_LOG_KEY_PREFIX
    • CONNECTION_STR_KEY

      public static final byte[] CONNECTION_STR_KEY
    • CLUSTER_FILE_PATH_KEY

      public static final byte[] CLUSTER_FILE_PATH_KEY
    • TRANSACTION_CONFLICTING_KEYS_PREFIX

      public static final byte[] TRANSACTION_CONFLICTING_KEYS_PREFIX