diff --git a/CHANGELOG.md b/CHANGELOG.md index cde8e33dc..ab0dbb618 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,13 @@ ## 2.2.0 ## -* Added export module -* Core: Operation manager +* Updated implementation of CoordinationService +* Added module for QueryService +* Added module for ExportService +* Added common module with basic interfaces for transactions and retries +* Core: Added basic support of long operations +* Core: Added support for tracing requests with id * Table: Added readRows operation in table service +* Topics: Added support of transaction between tables and topics ## 2.1.12 ## diff --git a/bom/pom.xml b/bom/pom.xml index 2c5cee3f2..cbc1d582b 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -16,7 +16,7 @@ 1.0.0 1.6.2 - 2.1.1 + 2.2.0 diff --git a/common/pom.xml b/common/pom.xml index 99b593a62..909a85d91 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -28,6 +28,12 @@ org.slf4j slf4j-api + + + junit + junit + test + org.apache.logging.log4j log4j-slf4j-impl diff --git a/core/src/main/java/tech/ydb/core/ErrorPolicy.java b/common/src/main/java/tech/ydb/common/retry/ErrorPolicy.java similarity index 96% rename from core/src/main/java/tech/ydb/core/ErrorPolicy.java rename to common/src/main/java/tech/ydb/common/retry/ErrorPolicy.java index d80c7a940..daaad9a97 100644 --- a/core/src/main/java/tech/ydb/core/ErrorPolicy.java +++ b/common/src/main/java/tech/ydb/common/retry/ErrorPolicy.java @@ -1,4 +1,4 @@ -package tech.ydb.core; +package tech.ydb.common.retry; /** * Recipes should use the configured error policy to decide how to retry diff --git a/core/src/main/java/tech/ydb/core/retry/ExponentialBackoffRetry.java b/common/src/main/java/tech/ydb/common/retry/ExponentialBackoffRetry.java similarity index 94% rename from core/src/main/java/tech/ydb/core/retry/ExponentialBackoffRetry.java rename to common/src/main/java/tech/ydb/common/retry/ExponentialBackoffRetry.java index 973ad655b..e6d14ba47 100644 --- a/core/src/main/java/tech/ydb/core/retry/ExponentialBackoffRetry.java +++ b/common/src/main/java/tech/ydb/common/retry/ExponentialBackoffRetry.java @@ -1,8 +1,7 @@ -package tech.ydb.core.retry; +package tech.ydb.common.retry; import java.util.concurrent.ThreadLocalRandom; -import tech.ydb.core.RetryPolicy; /** * diff --git a/core/src/main/java/tech/ydb/core/retry/RetryForever.java b/common/src/main/java/tech/ydb/common/retry/RetryForever.java similarity index 92% rename from core/src/main/java/tech/ydb/core/retry/RetryForever.java rename to common/src/main/java/tech/ydb/common/retry/RetryForever.java index e75ed0f1e..9dda076f8 100644 --- a/core/src/main/java/tech/ydb/core/retry/RetryForever.java +++ b/common/src/main/java/tech/ydb/common/retry/RetryForever.java @@ -1,6 +1,4 @@ -package tech.ydb.core.retry; - -import tech.ydb.core.RetryPolicy; +package tech.ydb.common.retry; /** * diff --git a/core/src/main/java/tech/ydb/core/retry/RetryNTimes.java b/common/src/main/java/tech/ydb/common/retry/RetryNTimes.java similarity index 98% rename from core/src/main/java/tech/ydb/core/retry/RetryNTimes.java rename to common/src/main/java/tech/ydb/common/retry/RetryNTimes.java index 47282a58a..f3c0449fa 100644 --- a/core/src/main/java/tech/ydb/core/retry/RetryNTimes.java +++ b/common/src/main/java/tech/ydb/common/retry/RetryNTimes.java @@ -1,4 +1,4 @@ -package tech.ydb.core.retry; +package tech.ydb.common.retry; /** * diff --git a/core/src/main/java/tech/ydb/core/RetryPolicy.java b/common/src/main/java/tech/ydb/common/retry/RetryPolicy.java similarity index 96% rename from core/src/main/java/tech/ydb/core/RetryPolicy.java rename to common/src/main/java/tech/ydb/common/retry/RetryPolicy.java index a925c4228..83a3010e2 100644 --- a/core/src/main/java/tech/ydb/core/RetryPolicy.java +++ b/common/src/main/java/tech/ydb/common/retry/RetryPolicy.java @@ -1,4 +1,4 @@ -package tech.ydb.core; +package tech.ydb.common.retry; /** * Abstracts the policy to use when retrying some actions diff --git a/core/src/main/java/tech/ydb/core/retry/RetryUntilElapsed.java b/common/src/main/java/tech/ydb/common/retry/RetryUntilElapsed.java similarity index 98% rename from core/src/main/java/tech/ydb/core/retry/RetryUntilElapsed.java rename to common/src/main/java/tech/ydb/common/retry/RetryUntilElapsed.java index 11fb4fecc..d94f3ac9d 100644 --- a/core/src/main/java/tech/ydb/core/retry/RetryUntilElapsed.java +++ b/common/src/main/java/tech/ydb/common/retry/RetryUntilElapsed.java @@ -1,4 +1,4 @@ -package tech.ydb.core.retry; +package tech.ydb.common.retry; /** * diff --git a/core/src/test/java/tech/ydb/core/retry/RetryPoliciesTest.java b/common/src/test/java/tech/ydb/common/retry/RetryPoliciesTest.java similarity index 96% rename from core/src/test/java/tech/ydb/core/retry/RetryPoliciesTest.java rename to common/src/test/java/tech/ydb/common/retry/RetryPoliciesTest.java index 52418f08e..bf5baa0a8 100644 --- a/core/src/test/java/tech/ydb/core/retry/RetryPoliciesTest.java +++ b/common/src/test/java/tech/ydb/common/retry/RetryPoliciesTest.java @@ -1,4 +1,8 @@ -package tech.ydb.core.retry; +package tech.ydb.common.retry; + +import tech.ydb.common.retry.RetryNTimes; +import tech.ydb.common.retry.RetryUntilElapsed; +import tech.ydb.common.retry.RetryForever; import org.junit.Assert; import org.junit.Test; diff --git a/common/src/test/resources/log4j2.xml b/common/src/test/resources/log4j2.xml new file mode 100644 index 000000000..b9ee3ced3 --- /dev/null +++ b/common/src/test/resources/log4j2.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coordination/pom.xml b/coordination/pom.xml index 1f22ff3ed..eebefe798 100644 --- a/coordination/pom.xml +++ b/coordination/pom.xml @@ -22,7 +22,7 @@ tech.ydb - ydb-sdk-core + ydb-sdk-common diff --git a/coordination/src/main/java/tech/ydb/coordination/impl/SessionImpl.java b/coordination/src/main/java/tech/ydb/coordination/impl/SessionImpl.java index bb1d883c0..a9ae47cec 100644 --- a/coordination/src/main/java/tech/ydb/coordination/impl/SessionImpl.java +++ b/coordination/src/main/java/tech/ydb/coordination/impl/SessionImpl.java @@ -21,6 +21,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import tech.ydb.common.retry.RetryPolicy; import tech.ydb.coordination.CoordinationSession; import tech.ydb.coordination.SemaphoreLease; import tech.ydb.coordination.description.SemaphoreDescription; @@ -30,7 +31,6 @@ import tech.ydb.coordination.settings.WatchSemaphoreMode; import tech.ydb.core.Issue; import tech.ydb.core.Result; -import tech.ydb.core.RetryPolicy; import tech.ydb.core.Status; import tech.ydb.core.StatusCode; diff --git a/coordination/src/main/java/tech/ydb/coordination/settings/CoordinationSessionSettings.java b/coordination/src/main/java/tech/ydb/coordination/settings/CoordinationSessionSettings.java index 69a728322..621d8290e 100644 --- a/coordination/src/main/java/tech/ydb/coordination/settings/CoordinationSessionSettings.java +++ b/coordination/src/main/java/tech/ydb/coordination/settings/CoordinationSessionSettings.java @@ -3,8 +3,8 @@ import java.time.Duration; import java.util.concurrent.Executor; -import tech.ydb.core.RetryPolicy; -import tech.ydb.core.retry.RetryUntilElapsed; +import tech.ydb.common.retry.RetryPolicy; +import tech.ydb.common.retry.RetryUntilElapsed; /** * diff --git a/query/src/main/java/tech/ydb/query/QueryClient.java b/query/src/main/java/tech/ydb/query/QueryClient.java index cd649a940..1075701ea 100644 --- a/query/src/main/java/tech/ydb/query/QueryClient.java +++ b/query/src/main/java/tech/ydb/query/QueryClient.java @@ -6,6 +6,8 @@ import javax.annotation.WillNotClose; +import io.grpc.ExperimentalApi; + import tech.ydb.core.Result; import tech.ydb.core.grpc.GrpcTransport; import tech.ydb.query.impl.QueryClientImpl; @@ -14,6 +16,7 @@ * * @author Aleksandr Gorshenin */ +@ExperimentalApi("QueryService is experimental and API may change without notice") public interface QueryClient extends AutoCloseable { static Builder newClient(@WillNotClose GrpcTransport transport) { return QueryClientImpl.newClient(transport); diff --git a/query/src/main/java/tech/ydb/query/QuerySession.java b/query/src/main/java/tech/ydb/query/QuerySession.java index 69d07cd41..45bd39828 100644 --- a/query/src/main/java/tech/ydb/query/QuerySession.java +++ b/query/src/main/java/tech/ydb/query/QuerySession.java @@ -2,6 +2,8 @@ import java.util.concurrent.CompletableFuture; +import io.grpc.ExperimentalApi; + import tech.ydb.common.transaction.TxMode; import tech.ydb.core.Result; import tech.ydb.query.settings.BeginTransactionSettings; @@ -20,6 +22,7 @@ * * @author Aleksandr Gorshenin */ +@ExperimentalApi("QueryService is experimental and API may change without notice") public interface QuerySession extends AutoCloseable { /** diff --git a/query/src/main/java/tech/ydb/query/QueryStream.java b/query/src/main/java/tech/ydb/query/QueryStream.java index 746b9d56d..41d63e61a 100644 --- a/query/src/main/java/tech/ydb/query/QueryStream.java +++ b/query/src/main/java/tech/ydb/query/QueryStream.java @@ -2,6 +2,8 @@ import java.util.concurrent.CompletableFuture; +import io.grpc.ExperimentalApi; + import tech.ydb.core.Result; import tech.ydb.query.result.QueryInfo; import tech.ydb.query.result.QueryResultPart; @@ -10,6 +12,7 @@ * * @author Aleksandr Gorshenin */ +@ExperimentalApi("QueryService is experimental and API may change without notice") public interface QueryStream { interface PartsHandler { void onNextPart(QueryResultPart part); diff --git a/query/src/main/java/tech/ydb/query/QueryTransaction.java b/query/src/main/java/tech/ydb/query/QueryTransaction.java index 4780c62df..89e943b48 100644 --- a/query/src/main/java/tech/ydb/query/QueryTransaction.java +++ b/query/src/main/java/tech/ydb/query/QueryTransaction.java @@ -2,6 +2,8 @@ import java.util.concurrent.CompletableFuture; +import io.grpc.ExperimentalApi; + import tech.ydb.common.transaction.YdbTransaction; import tech.ydb.core.Result; import tech.ydb.core.Status; @@ -20,6 +22,7 @@ * * @author Aleksandr Gorshenin */ +@ExperimentalApi("QueryService is experimental and API may change without notice") public interface QueryTransaction extends YdbTransaction { /**