These 24 commits are when the Protocol Buffers files have changed:
| Commit: | b538569 | |
|---|---|---|
| Author: | Michael Welles | |
| Committer: | GitHub | |
feat: v25 upgrade (#284) ## Summary Upgrades dgraph4j from v24.2.0 to v25.0.0, bringing full parity with the Dgraph v25 API. ### New APIs - **RunDQL** — run DQL queries and mutations directly without managing transactions - **ID Allocation** — `allocateUIDs()`, `allocateTimestamps()`, `allocateNamespaces()` - **Namespace Management** — `createNamespace()`, `dropNamespace()`, `listNamespaces()` - **Convenience Methods** — `dropAll()`, `dropData()`, `dropPredicate()`, `dropType()`, `setSchema()` All methods available on both `DgraphAsyncClient` (returning `CompletableFuture<T>`) and `DgraphClient` (sync wrapper). ### Typed Exception Hierarchy All exceptions now extend `DgraphException` (which extends `StatusRuntimeException`), with `isRetryable()` on every subclass. Existing `catch (StatusRuntimeException e)` blocks continue to work. ``` DgraphException (extends StatusRuntimeException) ├── AlphaException [retryable] — server reachable but temporarily unable to serve │ ├── AlphaNotReadyException — startup, indexing, Raft init │ ├── AlphaShutdownException — draining mode, try a different node │ └── AlphaOverloadedException — too many pending requests ├── ConnectionException [retryable] — network-level, server unreachable ├── DeadlineExceededException [retryable] — operation timed out ├── TxnException │ ├── TxnConflictException [retryable] — transaction conflict │ ├── TxnFinishedException — transaction already committed/discarded │ └── TxnReadOnlyException — mutation on read-only transaction ├── ResourceExhaustedException — e.g., gRPC message size limit ├── QueryException — invalid query/mutation syntax ├── DisallowedOperationException — server config blocks the operation └── AuthException — authentication or authorization failure ``` `Exceptions` utility class centralizes translation from gRPC status codes to typed exceptions. `ExceptionUtil` retained as deprecated alias for backward compatibility. ### Automatic Retry `withRetry()` on both `DgraphClient` and `DgraphAsyncClient` provides managed transaction retry with exponential backoff: ```java Response resp = client.withRetry(txn -> { txn.mutate(mutation); txn.commit(); return txn.query(query); }); ``` Configurable via `RetryPolicy` with support for read-only and best-effort transactions: ```java client.withRetry(RetryPolicy.bestEffort(), txn -> txn.query(query)); client.withRetry(RetryPolicy.builder() .maxRetries(10) .baseDelay(Duration.ofMillis(200)) .build(), txn -> { ... }); ``` Async variant uses non-blocking backoff via `CompletableFuture.delayedExecutor`. ### Internal Refactoring - **`CompletableFutures` utility class** — extracted `runWithRetries` (JWT-refresh retry) and `attemptAsync` (managed transaction retry with backoff) from `DgraphAsyncClient` into a stateless static utility class, keeping the async client focused on the Dgraph API surface - Updated CODEOWNERS from `@rarvikar` to `@mlwelles` ### Other Changes - Updated proto definitions to Dgraph v25 (8 new RPCs) - Updated copyright from Hypermode Inc. to Istari Digital, Inc. - Updated GitHub org references from `hypermodeinc` to `dgraph-io` - Deprecated `clientStubFromSlashEndpoint` / `clientStubFromCloudEndpoint` (now throw `UnsupportedOperationException` with migration guidance) - Fixed `isJwtExpired()` to handle `UNKNOWN` status code - Fixed 5 broken `docs.dgraph.io` links to match new site structure - Updated README with new API documentation sections - Updated CHANGELOG, samples, and CI workflows ### Deprecated - `clientStubFromSlashEndpoint()` — throws `UnsupportedOperationException`, use `clientStub()` instead - `clientStubFromCloudEndpoint()` — throws `UnsupportedOperationException`, use `clientStub()` instead - `ExceptionUtil` — use `Exceptions` instead ### Removed - Cloud-related documentation section from README ## Test plan - [x] Integration tests pass against a 3-alpha + 1-zero Dgraph cluster with ACL enabled - [x] 3 new unit test classes: `ExceptionHierarchyTest`, `ExceptionMappingTest`, `RetryPolicyTest` - [x] All pre-existing tests continue to pass - [x] `./gradlew clean generateProto compileJava` succeeds - [x] Trunk linter passes - [x] `testDropType` fixed — added `dropAll()` for clean schema state before type creation --- Closes #283
| Commit: | e1c6511 | |
|---|---|---|
| Author: | Matthew McNeely | |
Commit new proto file
| Commit: | ecc2fbf | |
|---|---|---|
| Author: | Ryan Fox-Tyler | |
| Committer: | GitHub | |
chore: normalize copyrights (#265) **Description** Normalize copyrights across repo. **Checklist** - [X] Code compiles correctly and linting passes locally
The documentation is generated from this commit.
| Commit: | 881f14c | |
|---|---|---|
| Author: | Aman Mangal | |
| Committer: | GitHub | |
add support for big float and fix tests (#246)
| Commit: | eed1fcd | |
|---|---|---|
| Author: | ShivajiKharse | |
| Committer: | GitHub | |
add vector support (#220)
| Commit: | 1aeb49d | |
|---|---|---|
| Author: | Abhimanyu Singh Gaur | |
| Committer: | GitHub | |
chore: Sync dgo + deprecate Slash endpoint method (GRAPHQL-1141) (#167) This PR does following things: * Make transaction context more robust (Ref: https://github.com/dgraph-io/dgo/pull/146) * Deprecate `DgraphClient.clientStubfromSlashEndpoint` (Ref: https://discuss.dgraph.io/t/regarding-slash-cloud-dgraph-endpoints-in-the-clients/13492) * Fix a test to work with dgraph v21.03 * Fix typo in CHANGELOG.md
| Commit: | 72ce458 | |
|---|---|---|
| Author: | Abhimanyu Singh Gaur | |
| Committer: | GitHub | |
feat: add loginIntoNamespace API on clients (GRAPHQL-1058) (#166) This PR does the following things: * sync `api.proto` with `dgo` * add `loginIntoNamespace` api on `DgraphClient` and `DgraphAsyncClient` * fix a documentation issue in README.md and also add docs about this feature.
| Commit: | f858602 | |
|---|---|---|
| Author: | Abhimanyu Singh Gaur | |
| Committer: | GitHub | |
feat: Add support for RDF response (DGRAPH-2659) (#160) This PR updates `api.proto` to reflect the latest gRPC API. In addition, it also adds client methods to query RDF in a transaction.
| Commit: | 1324663 | |
|---|---|---|
| Author: | Aman Mangal | |
| Committer: | Aman Mangal | |
Add docs for background indexing, update api.proto
| Commit: | d7ba735 | |
|---|---|---|
| Author: | Aman Mangal | |
| Committer: | GitHub | |
Sync proto files with dgo (#121)
| Commit: | 589cb9b | |
|---|---|---|
| Author: | Aman Mangal | |
| Committer: | GitHub | |
Update grpc API to support Multiple Mutations in future (#101)
| Commit: | 1e35cb2 | |
|---|---|---|
| Author: | Animesh Chandra Pathak | |
| Committer: | GitHub | |
Add support for upsert block (#88)
| Commit: | 577260c | |
|---|---|---|
| Author: | Lucas Wang | |
Addeng best effort flag, shorten ACL test timing to match changes in dgraph
| Commit: | b4bf3bf | |
|---|---|---|
| Author: | Lucas Wang | |
| Committer: | GitHub | |
added logic for ACL and upgraded the code to be usable with java 11 (#80)
| Commit: | cab0eed | |
|---|---|---|
| Author: | Lucas Wang | |
| Committer: | Daniel Mai | |
Readonly support, separating integration tests and unit tests etc (#71) * Added a gradle task to refresh the api.proto file from dgo, separated the integration tests from the unit tests, switching to use the port 7180 for testing * Added support for read only transactions * Rewording the doc for setting up dgraph alpha server * Added one more test * Changing the copyright notice to 2018 only
| Commit: | 25bc26a | |
|---|---|---|
| Author: | Deepak Jois | |
Releasing dgraph4j 1.5.0
| Commit: | 6c3d3c8 | |
|---|---|---|
| Author: | Deepak Jois | |
| Committer: | Deepak Jois | |
Update api.proto
| Commit: | 382c8e1 | |
|---|---|---|
| Author: | Janardhan Reddy | |
update
| Commit: | a274803 | |
|---|---|---|
| Author: | Janardhan Reddy | |
| Committer: | Janardhan Reddy | |
add option to choose client/server side linerizability
| Commit: | a5293c2 | |
|---|---|---|
| Author: | Deepak Jois | |
| Committer: | Deepak Jois | |
Incorporate protobuf changes in Dgraph v1.2.0
| Commit: | 7978fed | |
|---|---|---|
| Author: | Deepak Jois | |
Update to latest api.proto
| Commit: | 7aa77ad | |
|---|---|---|
| Author: | Deepak Jois | |
Update to latest protocol buffers
| Commit: | d614c75 | |
|---|---|---|
| Author: | Deepak Jois | |
| Committer: | Deepak Jois | |
Update task.proto
| Commit: | 5b458ec | |
|---|---|---|
| Author: | Deepak Jois | |
Working client for Dgraph w/ transactions