Meta tags:
description= Oxia: Scalable Metadata and Index storage;
Headings (most frequently used words):
sync, async, records, client, and, java, sdk, deleting, installing, apis, api, maven, gradle, initializing, the, writing, reading, range, of, listing, keys, scanning, sessions, ephemerals, notifications, sequence, updates,
Text of the page (most frequently used words):
the (43), client (41), key (39), and (20), log (19), oxia (18), async (17), sync (17), keys (16), res (16), records (15), string (14), users (13), version (13), info (12), value (12), #record (10), delete (10), null (9), write (9), for (8), sequence (8), set (8), return (8), put (8), java (8), reference (7), namespace (7), failed (7), warn (7), exceptionally (7), thenaccept (7), list (7), range (7), see (6), notifications (6), sdk (6), ephemerals (6), get (6), with (6), architecture (6), javadocs (5), partitionkey (5), values (5), ifversionidequals (5), not (5), operations (5), api (5), option (4), operation (4), getvalue (4), getkey (4), foreach (4), results (4), specified (4), deleterange (4), deleting (4), available (4), full (4), long (4), secondary (4), requested (4), getbytes (4), expectation (4), that (4), oxiaclientbuilder (4), from (4), documentation (4), github (4), protocol (4), use (3), node (3), new (3), updates (3), specific (3), got (3), change (3), sessions (3), are (3), ephemeral (3), session (3), boolean (3), rangescan (3), getversion (3), getresult (3), versionid (3), conditional (3), default (3), reading (3), ifrecorddoesnotexist (3), result (3), will (3), instance (3), opentelemetry (3), grpc (3), duration (3), create (3), sdks (3), 2026 (2), policies (2), https (2), events (2), notification (2), created (2), time (2), useindex (2), scanning (2), within (2), listing (2), succeeded (2), all (2), deleteoption (2), based (2), getoption (2), comparisonfloor (2), lookup (2), route (2), shard (2), index (2), skip (2), lowest (2), strictly (2), highest (2), purpose (2), putoption (2), there (2), was (2), any (2), fail (2), has (2), changed (2), since (2), previous (2), does (2), already (2), exist (2), writing (2), properties (2), file (2), authentication (2), batched (2), request (2), used (2), localhost (2), 6648 (2), initializing (2), apis (2), gradle (2), dependency (2), artifactid (2), groupid (2), maven (2), installing (2), this (2), page (2), light (2), storage (2), replication (2), coordinator (2), consensus (2), maelstrom (2), tla (2), safety (2), correctness (2), physical (2), logical (2), design (2), goals (2), metrics (2), configuration (2), schema (2), cli (2), admin (2), security (2), bare (2), metal (2), resources (2), helm (2), kubernetes (2), deployment (2), python (2), versioning (2), indexes (2), partition (2), sorting (2), namespaces (2), consistency (2), model (2), features (2), migrating (2), etcd (2), getting (2), started (2), what (2), blog (2), ctrl (2), copyright, 2023, series, projects, llc, website, terms, trademark, policy, other, project, please, lfprojects, org, last, updated, july, complete, across, every, semantics, getsequenceupdates, prefix, feed, automatically, first, written, handles, heartbeats, cleaned, when, closes, expires, lifecycle, details, accept, showinternalkeys, rangescanoption, listoption, scan, returning, both, without, fetching, associated, minkeyinclusive, maxkeyexclusive, whose, fall, only, succeed, matches, unconditional, single, supports, deletes, using, expectations, style, find, closest, read, look, via, named, include, payload, excludevalue, includevalue, comparisonhigher, comparisonlower, comparisonceiling, exact, comparisonequal, aclient, attach, entry, secondaryindex, server, assigned, monotonic, suffixes, sequencekeysdeltas, bind, asephemeralrecord, current, assert, currently, putresult, populate, builder, handle, loadconfig, wire, into, existing, meter, false, enable, tls, channel, enabletls, oidc, bearer, token, auth, random, uuid, stable, identity, attached, clientidentifier, 1000, maximum, per, maxrequestsperbatch, int, 5ms, how, wait, before, flushing, batchlinger, 15s, timeout, sessiontimeout, 30s, deadline, each, unary, rpc, requesttimeout, description, method, commonly, options, asyncclient, asyncoxiaclient, syncclient, syncoxiaclient, you, need, once, valid, until, explicitly, closed, can, different, threads, returns, futures, track, completion, allows, having, more, outstanding, achieving, higher, throughput, easier, convenient, methods, blocking, provides, two, flavors, javadoc, apidocs, latest, implementation, scroll, top, edit, question, give, feedback, metadata, store, coordination, system, content,
Text of the page (random words):
java client sdk oxia skip to content oxia metadata store and coordination system documentation blog ctrl k ctrl k documentation what is oxia getting started migrating from zk etcd features consistency model ephemerals namespaces notifications key sorting partition keys secondary indexes sequence keys versioning client sdks go java node js python deployment kubernetes helm resources bare metal security admin operations reference cli configuration schema grpc api metrics architecture design goals logical architecture physical architecture correctness protocol safety tla maelstrom consensus coordinator oxia replication protocol storage blog light what is oxia getting started migrating from zk etcd features consistency model ephemerals namespaces notifications key sorting partition keys secondary indexes sequence keys versioning client sdks go java node js python deployment kubernetes helm resources bare metal security admin operations reference cli configuration schema grpc api metrics architecture design goals logical architecture physical architecture correctness protocol safety tla maelstrom consensus coordinator oxia replication protocol storage light on this page installing java client sdk sync and async apis client api initializing the client writing records reading records deleting records deleting a range of records listing keys scanning records sessions and ephemerals notifications and sequence updates question give us feedback edit this page on github scroll to top documentation client sdks java java client sdk installing java client sdk maven gradle maven dependency groupid io github oxia db groupid artifactid oxia client artifactid version version version dependency gradle implementation io github oxia db oxia client version javadoc documentation is available at https oxia db github io oxia client java apidocs latest sync and async apis oxia provides two api flavors in the client sync easier and convenient to use methods are blocking and return the result of the operation async returns futures to track completion of the operations allows having more operations outstanding and achieving higher throughput client api initializing the client to use the oxia client you need to create a client instance once created a client instance will be valid until it s explicitly closed and it can be used from different threads sync async sync syncoxiaclient client oxiaclientbuilder create localhost 6648 namespace my namespace syncclient async asyncoxiaclient client oxiaclientbuilder create localhost 6648 namespace my namespace asyncclient get commonly used oxiaclientbuilder options method description default namespace string oxia namespace default requesttimeout duration deadline for each unary rpc 30s sessiontimeout duration session timeout for ephemeral records 15s batchlinger duration how long to wait before flushing a batched request 5ms maxrequestsperbatch int maximum operations per batched request 1000 clientidentifier string stable client identity attached to ephemeral records random uuid authentication authentication oidc bearer token auth null enabletls boolean enable tls for the grpc channel false opentelemetry opentelemetry wire the sdk into an existing opentelemetry meter null loadconfig populate the builder from a properties file file handle or properties instance full option reference oxiaclientbuilder javadocs writing records sync async sync write a record to oxia with the specified key and value and with the expectation that the record does not already exist putresult res client put my key my value getbytes set of ifrecorddoesnotexist write a record with the expectation that it has not changed since the previous write if there was any change the operation will fail client put my key my value 2 getbytes set of ifversionidequals res version versionid async write a record to oxia with the specified key and value and with the expectation that the record does not already exist client put my string my value getbytes set of ifrecorddoesnotexist thenaccept res log info put result res exceptionally ex log warn put failed ex return null write a record with the expectation that it has not changed since the previous write if there was any change the operation will fail client put my key my value 2 getbytes set of ifversionidequals res version versionid thenaccept res log info put result res exceptionally ex log warn put failed ex return null available putoption values option purpose ifrecorddoesnotexist assert the key is not currently set ifversionidequals long conditional write based on the current version asephemeralrecord bind the record to the client session see ephemerals partitionkey string route the write to a specific shard sequencekeysdeltas list long server assigned monotonic suffixes see sequence keys secondaryindex string string attach a secondary index entry at write time full reference putoption javadocs reading records reading the value of a record sync async sync getresult res client get my key log info got key value version res getkey res getvalue res getversion async aclient get my key thenaccept res log info got key value version res getkey res getvalue res getversion exceptionally ex log warn get failed ex return null available getoption values option purpose comparisonequal default exact key lookup comparisonfloor highest key requested key comparisonceiling lowest key requested key comparisonlower highest key strictly requested key comparisonhigher lowest key strictly requested key includevalue boolean excludevalue include or skip the value payload useindex string look up via a named secondary index partitionkey string route the read to a specific shard range style get find the closest key the lookup key getresult res client get users 50 set of comparisonfloor full reference getoption javadocs deleting records delete a single record by key supports conditional deletes using version based expectations sync async sync unconditional delete client delete my key conditional delete only succeed if the version matches client delete my key set of ifversionidequals version versionid async client delete my key thenaccept v log info delete succeeded exceptionally ex log warn delete failed ex return null available deleteoption values ifversionidequals long partitionkey string full reference deleteoption javadocs deleting a range of records delete all records whose keys fall within a specified range sync async sync delete all keys in the range minkeyinclusive maxkeyexclusive client deleterange users users async client deleterange users users thenaccept v log info deleterange succeeded exceptionally ex log warn deleterange failed ex return null listing keys list the keys within a specified range without fetching the associated values sync async sync list string keys client list users users keys foreach key log info key key async client list users users thenaccept keys keys foreach key log info key key exceptionally ex log warn list failed ex return null scanning records scan records in a key range returning both keys and values sync async sync list getresult results client rangescan users users results foreach r log info key value version r getkey new string r getvalue r getversion async client rangescan users users thenaccept results results foreach r log info key value r getkey new string r getvalue exceptionally ex log warn rangescan failed ex return null listoption and rangescanoption accept partitionkey string useindex string and showinternalkeys boolean sessions and ephemerals sessions are created automatically the first time an ephemeral record is written the client sdk handles heartbeats records are cleaned up when the client closes or the session expires see ephemerals for the lifecycle details notifications and sequence updates namespace change feed client notifications notification log info got notification updates for a specific sequence prefix client getsequenceupdates events set of partitionkey events key log info new sequence key key see notifications and sequence keys for semantics for the complete option reference across every operation see the javadocs last updated on july 9 2026 go node js copyright 2023 2026 oxia a series of lf projects llc for website terms of use trademark policy and other project policies please see https lfprojects org policies
|