From 4d106ef4dbac6a1d907563a23fbfbd64e9665340 Mon Sep 17 00:00:00 2001 From: Artyom Dubinin Date: Mon, 27 Feb 2023 22:06:41 +0300 Subject: [PATCH] Remove config timeout as parameter in crud client --- CHANGELOG.md | 1 + .../core/space/ProxyTarantoolSpace.java | 31 ++++--------------- .../options/ProxySpaceDeleteOptionsIT.java | 7 ++++- .../ProxySpaceInsertManyOptionsIT.java | 14 +++++++-- .../options/ProxySpaceInsertOptionsIT.java | 9 +++++- .../ProxySpaceReplaceManyOptionsIT.java | 7 ++++- .../options/ProxySpaceReplaceOptionsIT.java | 10 +++++- .../options/ProxySpaceSelectOptionsIT.java | 9 +++++- .../options/ProxySpaceUpdateOptionsIT.java | 6 +++- .../options/ProxySpaceUpsertOptionsIT.java | 7 ++++- 10 files changed, 67 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 672e3c960..33b080855 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog ## [Unreleased] +- Remove config request timeout as default parameter in crud client - Close public access to TarantoolResult*Impl ([#326](https://github.com/tarantool/cartridge-java/issues/326)) - Add deep copy instead of shallow copy in default message pack mapper diff --git a/src/main/java/io/tarantool/driver/core/space/ProxyTarantoolSpace.java b/src/main/java/io/tarantool/driver/core/space/ProxyTarantoolSpace.java index f75bb1381..f42c72ceb 100644 --- a/src/main/java/io/tarantool/driver/core/space/ProxyTarantoolSpace.java +++ b/src/main/java/io/tarantool/driver/core/space/ProxyTarantoolSpace.java @@ -78,9 +78,7 @@ public ProxyTarantoolSpace( @Override public CompletableFuture delete(Conditions conditions) throws TarantoolClientException { - return delete(conditions, rowsMetadataTupleResultMapper(), ProxyDeleteOptions.create() - .withTimeout(config.getRequestTimeout()) - ); + return delete(conditions, rowsMetadataTupleResultMapper(), ProxyDeleteOptions.create()); } @Override @@ -113,9 +111,7 @@ private CompletableFuture delete( @Override public CompletableFuture insert(T tuple) throws TarantoolClientException { - return insert(tuple, rowsMetadataTupleResultMapper(), ProxyInsertOptions.create() - .withTimeout(config.getRequestTimeout()) - ); + return insert(tuple, rowsMetadataTupleResultMapper(), ProxyInsertOptions.create()); } @Override @@ -147,7 +143,6 @@ private CompletableFuture insert( @Override public CompletableFuture insertMany(Collection tuples) { return insertMany(tuples, rowsMetadataTupleResultMapper(), ProxyInsertManyOptions.create() - .withTimeout(config.getRequestTimeout()) .withStopOnError(true) .withRollbackOnError(true) ); @@ -182,9 +177,7 @@ private CompletableFuture insertMany( @Override public CompletableFuture replace(T tuple) throws TarantoolClientException { - return replace(tuple, rowsMetadataTupleResultMapper(), ProxyReplaceOptions.create() - .withTimeout(config.getRequestTimeout()) - ); + return replace(tuple, rowsMetadataTupleResultMapper(), ProxyReplaceOptions.create()); } @Override @@ -216,7 +209,6 @@ private CompletableFuture replace( @Override public CompletableFuture replaceMany(Collection tuples) throws TarantoolClientException { return replaceMany(tuples, rowsMetadataTupleResultMapper(), ProxyReplaceManyOptions.create() - .withTimeout(config.getRequestTimeout()) .withStopOnError(true) .withRollbackOnError(true) ); @@ -250,9 +242,7 @@ private CompletableFuture replaceMany( @Override public CompletableFuture select(Conditions conditions) throws TarantoolClientException { - return select(conditions, rowsMetadataTupleResultMapper(), ProxySelectOptions.create() - .withTimeout(config.getRequestTimeout()) - ); + return select(conditions, rowsMetadataTupleResultMapper(), ProxySelectOptions.create()); } @Override @@ -275,7 +265,6 @@ private CompletableFuture select( .withSpaceName(spaceName) .withFunctionName(operationsMapping.getSelectFunctionName()) .withConditions(conditions) - .withOptions(options) .withArgumentsMapper(config.getMessagePackMapper()) .withResultMapper(resultMapper) .withOptions(options) @@ -288,7 +277,6 @@ private CompletableFuture select( public CompletableFuture update(Conditions conditions, T tuple) { return update(conditions, makeOperationsFromTuple(tuple), rowsMetadataTupleResultMapper(), ProxyUpdateOptions.create() - .withTimeout(config.getRequestTimeout()) ); } @@ -310,9 +298,7 @@ public CompletableFuture update(Conditions conditions, T tuple, UpdateOptions @Override public CompletableFuture update(Conditions conditions, TupleOperations operations) { - return update(conditions, operations, rowsMetadataTupleResultMapper(), ProxyUpdateOptions.create() - .withTimeout(config.getRequestTimeout()) - ); + return update(conditions, operations, rowsMetadataTupleResultMapper(), ProxyUpdateOptions.create()); } @Override @@ -346,9 +332,7 @@ private CompletableFuture update( @Override public CompletableFuture upsert(Conditions conditions, T tuple, TupleOperations operations) { - return upsert(conditions, tuple, operations, rowsMetadataTupleResultMapper(), ProxyUpsertOptions.create() - .withTimeout(config.getRequestTimeout()) - ); + return upsert(conditions, tuple, operations, rowsMetadataTupleResultMapper(), ProxyUpsertOptions.create()); } @Override @@ -389,9 +373,6 @@ public CompletableFuture truncate() throws TarantoolClientException { .withClient(client) .withSpaceName(spaceName) .withFunctionName(operationsMapping.getTruncateFunctionName()) - .withOptions(ProxyTruncateOptions.create() - .withTimeout(config.getRequestTimeout()) - ) .build() ); } catch (TarantoolClientException e) { diff --git a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceDeleteOptionsIT.java b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceDeleteOptionsIT.java index 2b39f8ab4..0ef8d3d73 100644 --- a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceDeleteOptionsIT.java +++ b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceDeleteOptionsIT.java @@ -27,6 +27,7 @@ import java.util.List; import java.util.concurrent.ExecutionException; +import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -87,7 +88,11 @@ public void withTimeout() throws ExecutionException, InterruptedException { Conditions conditions = Conditions.equals(PK_FIELD_NAME, 1); profileSpace.delete(conditions).get(); List crudDeleteOpts = client.eval("return crud_delete_opts").get(); - assertEquals(requestConfigTimeout, ((HashMap) crudDeleteOpts.get(0)).get("timeout")); + assertNull(((HashMap) crudDeleteOpts.get(0)).get("timeout")); + + profileSpace.delete(conditions, ProxyDeleteOptions.create()).get(); + crudDeleteOpts = client.eval("return crud_delete_opts").get(); + assertNull(((HashMap) crudDeleteOpts.get(0)).get("timeout")); // with option timeout profileSpace.delete( diff --git a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceInsertManyOptionsIT.java b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceInsertManyOptionsIT.java index 1d7205229..713353186 100644 --- a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceInsertManyOptionsIT.java +++ b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceInsertManyOptionsIT.java @@ -7,6 +7,7 @@ import io.tarantool.driver.api.space.TarantoolSpaceOperations; import io.tarantool.driver.api.space.options.InsertManyOptions; import io.tarantool.driver.api.space.options.proxy.ProxyInsertManyOptions; +import io.tarantool.driver.api.space.options.proxy.ProxyReplaceManyOptions; import io.tarantool.driver.api.tuple.DefaultTarantoolTupleFactory; import io.tarantool.driver.api.tuple.TarantoolTuple; import io.tarantool.driver.api.tuple.TarantoolTupleFactory; @@ -25,6 +26,7 @@ import java.util.List; import java.util.concurrent.ExecutionException; +import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -123,13 +125,21 @@ public void withTimeout() throws ExecutionException, InterruptedException { // with config timeout profileSpace.insertMany(tarantoolTuples).get(); List crudInsertManyOpts = client.eval("return crud_insert_many_opts").get(); - assertEquals(requestConfigTimeout, ((HashMap) crudInsertManyOpts.get(0)).get("timeout")); + assertNull(((HashMap) crudInsertManyOpts.get(0)).get("timeout")); - // with option timeout tarantoolTuples = Arrays.asList( tupleFactory.create(3, null, "FIO", 50, 100), tupleFactory.create(4, null, "KEK", 75, 125) ); + profileSpace.insertMany(tarantoolTuples, ProxyInsertManyOptions.create()).get(); + crudInsertManyOpts = client.eval("return crud_insert_many_opts").get(); + assertNull(((HashMap) crudInsertManyOpts.get(0)).get("timeout")); + + // with option timeout + tarantoolTuples = Arrays.asList( + tupleFactory.create(5, null, "FIO", 50, 100), + tupleFactory.create(6, null, "KEK", 75, 125) + ); profileSpace.insertMany( tarantoolTuples, diff --git a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceInsertOptionsIT.java b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceInsertOptionsIT.java index 25db6ac31..26da99043 100644 --- a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceInsertOptionsIT.java +++ b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceInsertOptionsIT.java @@ -8,6 +8,7 @@ import io.tarantool.driver.api.space.options.InsertOptions; import io.tarantool.driver.api.space.options.SelectOptions; import io.tarantool.driver.api.space.options.proxy.ProxyInsertOptions; +import io.tarantool.driver.api.space.options.proxy.ProxyReplaceManyOptions; import io.tarantool.driver.api.space.options.proxy.ProxySelectOptions; import io.tarantool.driver.api.tuple.DefaultTarantoolTupleFactory; import io.tarantool.driver.api.tuple.TarantoolTuple; @@ -29,6 +30,7 @@ import java.util.List; import java.util.concurrent.ExecutionException; +import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -92,7 +94,12 @@ public void withTimeout() throws ExecutionException, InterruptedException { // with config timeout profileSpace.insert(tarantoolTuple).get(); List crudInsertOpts = client.eval("return crud_insert_opts").get(); - assertEquals(requestConfigTimeout, ((HashMap) crudInsertOpts.get(0)).get("timeout")); + assertNull(((HashMap) crudInsertOpts.get(0)).get("timeout")); + + profileSpace.delete(Conditions.equals(PK_FIELD_NAME, 1)).get(); + profileSpace.insert(tarantoolTuple, ProxyInsertOptions.create()).get(); + crudInsertOpts = client.eval("return crud_insert_opts").get(); + assertNull(((HashMap) crudInsertOpts.get(0)).get("timeout")); // with option timeout profileSpace.delete(Conditions.equals(PK_FIELD_NAME, 1)).get(); diff --git a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceReplaceManyOptionsIT.java b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceReplaceManyOptionsIT.java index eb1ec2105..20e9ea6fa 100644 --- a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceReplaceManyOptionsIT.java +++ b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceReplaceManyOptionsIT.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.concurrent.ExecutionException; +import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -115,7 +116,11 @@ public void withTimeout() throws ExecutionException, InterruptedException { // with config timeout profileSpace.replaceMany(tarantoolTuples).get(); List crudReplaceManyOpts = client.eval("return crud_replace_many_opts").get(); - assertEquals(requestConfigTimeout, ((HashMap) crudReplaceManyOpts.get(0)).get("timeout")); + assertNull(((HashMap) crudReplaceManyOpts.get(0)).get("timeout")); + + profileSpace.replaceMany(tarantoolTuples, ProxyReplaceManyOptions.create()).get(); + crudReplaceManyOpts = client.eval("return crud_replace_many_opts").get(); + assertNull(((HashMap) crudReplaceManyOpts.get(0)).get("timeout")); // with option timeout profileSpace.replaceMany( diff --git a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceReplaceOptionsIT.java b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceReplaceOptionsIT.java index ffa8b965b..4a34bdb8a 100644 --- a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceReplaceOptionsIT.java +++ b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceReplaceOptionsIT.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.concurrent.ExecutionException; +import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -87,7 +88,14 @@ public void withTimeout() throws ExecutionException, InterruptedException { // with config timeout profileSpace.replace(tarantoolTuple).get(); List crudReplaceOpts = client.eval("return crud_replace_opts").get(); - assertEquals(requestConfigTimeout, ((HashMap) crudReplaceOpts.get(0)).get("timeout")); + assertNull(((HashMap) crudReplaceOpts.get(0)).get("timeout")); + + profileSpace.replace( + tarantoolTuple, + ProxyReplaceOptions.create() + ).get(); + crudReplaceOpts = client.eval("return crud_replace_opts").get(); + assertNull(((HashMap) crudReplaceOpts.get(0)).get("timeout")); // with option timeout profileSpace.replace( diff --git a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceSelectOptionsIT.java b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceSelectOptionsIT.java index 443f07ba3..7b5a03392 100644 --- a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceSelectOptionsIT.java +++ b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceSelectOptionsIT.java @@ -114,7 +114,14 @@ public void withTimeout() throws ExecutionException, InterruptedException { // with config timeout profileSpace.select(Conditions.any()).get(); List crudSelectOpts = client.eval("return crud_select_opts").get(); - assertEquals(requestConfigTimeout, ((HashMap) crudSelectOpts.get(0)).get("timeout")); + assertNull(((HashMap) crudSelectOpts.get(0)).get("timeout")); + + profileSpace.select( + Conditions.any(), + ProxySelectOptions.create() + ).get(); + crudSelectOpts = client.eval("return crud_select_opts").get(); + assertNull(((HashMap) crudSelectOpts.get(0)).get("timeout")); // with option timeout profileSpace.select( diff --git a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceUpdateOptionsIT.java b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceUpdateOptionsIT.java index 55b701b0b..6079d98dc 100644 --- a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceUpdateOptionsIT.java +++ b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceUpdateOptionsIT.java @@ -87,7 +87,11 @@ public void withTimeout() throws ExecutionException, InterruptedException { // with config timeout profileSpace.update(conditions, tarantoolTuple).get(); List crudUpdateOpts = client.eval("return crud_update_opts").get(); - assertEquals(requestConfigTimeout, ((HashMap) crudUpdateOpts.get(0)).get("timeout")); + assertNull(((HashMap) crudUpdateOpts.get(0)).get("timeout")); + + profileSpace.update(conditions, tarantoolTuple, ProxyUpdateOptions.create()).get(); + crudUpdateOpts = client.eval("return crud_update_opts").get(); + assertNull(((HashMap) crudUpdateOpts.get(0)).get("timeout")); // with option timeout profileSpace.update( diff --git a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceUpsertOptionsIT.java b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceUpsertOptionsIT.java index 5e1a3f158..5e770e835 100644 --- a/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceUpsertOptionsIT.java +++ b/src/test/java/io/tarantool/driver/integration/proxy/options/ProxySpaceUpsertOptionsIT.java @@ -85,7 +85,12 @@ public void withTimeout() throws ExecutionException, InterruptedException { // with config timeout profileSpace.upsert(conditions, tarantoolTuple, TupleOperations.set("age", 50)).get(); List crudUpsertOpts = client.eval("return crud_upsert_opts").get(); - assertEquals(requestConfigTimeout, ((HashMap) crudUpsertOpts.get(0)).get("timeout")); + assertNull(((HashMap) crudUpsertOpts.get(0)).get("timeout")); + + profileSpace.upsert(conditions, tarantoolTuple, TupleOperations.set("age", 50), + ProxyUpsertOptions.create()).get(); + crudUpsertOpts = client.eval("return crud_upsert_opts").get(); + assertNull(((HashMap) crudUpsertOpts.get(0)).get("timeout")); // with option timeout profileSpace.upsert(