This is an automated email from the ASF dual-hosted git repository. av pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push: new 5acdf4a1d4b IGNITE-22081 Delete TransactionSerializationException and TransactionAlreadyCompletedException (#11324) 5acdf4a1d4b is described below commit 5acdf4a1d4be5835af9bc3550ad8377c1a3a6303 Author: Andrey N <lordgarr...@gmail.com> AuthorDate: Fri Apr 26 16:47:23 2024 +0300 IGNITE-22081 Delete TransactionSerializationException and TransactionAlreadyCompletedException (#11324) --- .../cache/query/IgniteQueryErrorCode.java | 22 ------------- .../internal/processors/odbc/SqlListenerUtils.java | 6 ---- .../internal/processors/odbc/SqlStateCode.java | 6 ---- .../internal/processors/query/QueryUtils.java | 12 ------- .../TransactionAlreadyCompletedException.java | 37 ---------------------- .../ignite/transactions/TransactionException.java | 1 - .../TransactionSerializationException.java | 36 --------------------- .../main/resources/META-INF/classnames.properties | 2 -- .../cache/IgniteClientCacheStartFailoverTest.java | 13 +------- .../DynamicEnableIndexingConcurrentSelfTest.java | 7 ---- .../processors/query/h2/QueryDataPageScanTest.java | 11 ------- 11 files changed, 1 insertion(+), 152 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/IgniteQueryErrorCode.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/IgniteQueryErrorCode.java index 17141927da7..5fb132ac8fb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/IgniteQueryErrorCode.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/IgniteQueryErrorCode.java @@ -124,20 +124,6 @@ public final class IgniteQueryErrorCode { /** Attempt to INSERT, UPDATE or DELETE value on read-only cluster. */ public static final int CLUSTER_READ_ONLY_MODE_ENABLED = 4011; - /* 5xxx - transactions related runtime errors. */ - - /** Transaction is already open. */ - public static final int TRANSACTION_EXISTS = 5001; - - /** MVCC disabled. */ - public static final int MVCC_DISABLED = 5002; - - /** Transaction is already completed. */ - public static final int TRANSACTION_COMPLETED = 5004; - - /** Transaction serialization error. */ - public static final int TRANSACTION_SERIALIZATION_ERROR = 5005; - /** Field type mismatch. e.g.: cause is {@link ClassCastException}. */ public static final int FIELD_TYPE_MISMATCH = 5006; @@ -196,14 +182,6 @@ public final class IgniteQueryErrorCode { case KEY_UPDATE: return SqlStateCode.PARSING_EXCEPTION; - case MVCC_DISABLED: - case TRANSACTION_EXISTS: - case TRANSACTION_COMPLETED: - return SqlStateCode.TRANSACTION_STATE_EXCEPTION; - - case TRANSACTION_SERIALIZATION_ERROR: - return SqlStateCode.SERIALIZATION_FAILURE; - case QUERY_CANCELED: return SqlStateCode.QUERY_CANCELLED; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/SqlListenerUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/SqlListenerUtils.java index b8550e1dc04..c5c8d536515 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/SqlListenerUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/SqlListenerUtils.java @@ -31,9 +31,7 @@ import org.apache.ignite.internal.binary.GridBinaryMarshaller; import org.apache.ignite.internal.processors.cache.query.IgniteQueryErrorCode; import org.apache.ignite.internal.processors.query.IgniteSQLException; import org.apache.ignite.internal.util.typedef.F; -import org.apache.ignite.transactions.TransactionAlreadyCompletedException; import org.apache.ignite.transactions.TransactionDuplicateKeyException; -import org.apache.ignite.transactions.TransactionSerializationException; import org.apache.ignite.transactions.TransactionUnsupportedConcurrencyException; import org.jetbrains.annotations.Nullable; @@ -298,10 +296,6 @@ public abstract class SqlListenerUtils { public static int exceptionToSqlErrorCode(Throwable e) { if (e instanceof QueryCancelledException) return IgniteQueryErrorCode.QUERY_CANCELED; - if (e instanceof TransactionSerializationException) - return IgniteQueryErrorCode.TRANSACTION_SERIALIZATION_ERROR; - if (e instanceof TransactionAlreadyCompletedException) - return IgniteQueryErrorCode.TRANSACTION_COMPLETED; if (e instanceof TransactionDuplicateKeyException) return IgniteQueryErrorCode.DUPLICATE_KEY; if (e instanceof TransactionUnsupportedConcurrencyException) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/SqlStateCode.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/SqlStateCode.java index 50a13a396fb..35a735787a2 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/SqlStateCode.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/SqlStateCode.java @@ -66,12 +66,6 @@ public final class SqlStateCode { /** Requested operation is not supported. */ public static final String UNSUPPORTED_OPERATION = "0A000"; - /** Transaction state exception. */ - public static final String TRANSACTION_STATE_EXCEPTION = "25000"; - - /** Transaction state exception. */ - public static final String SERIALIZATION_FAILURE = "40001"; - /** Parsing exception. */ public static final String PARSING_EXCEPTION = "42000"; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryUtils.java index 6061fcdcce6..27c73d6a3f9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryUtils.java @@ -71,9 +71,7 @@ import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.A; import org.apache.ignite.internal.util.typedef.internal.U; -import org.apache.ignite.transactions.TransactionAlreadyCompletedException; import org.apache.ignite.transactions.TransactionDuplicateKeyException; -import org.apache.ignite.transactions.TransactionSerializationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -1597,16 +1595,6 @@ public class QueryUtils { sqlState = IgniteQueryErrorCode.codeToSqlState(code); } - else if (e instanceof TransactionSerializationException) { - code = IgniteQueryErrorCode.TRANSACTION_SERIALIZATION_ERROR; - - sqlState = IgniteQueryErrorCode.codeToSqlState(code); - } - else if (e instanceof TransactionAlreadyCompletedException) { - code = IgniteQueryErrorCode.TRANSACTION_COMPLETED; - - sqlState = IgniteQueryErrorCode.codeToSqlState(code); - } else { sqlState = SqlStateCode.INTERNAL_ERROR; diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/TransactionAlreadyCompletedException.java b/modules/core/src/main/java/org/apache/ignite/transactions/TransactionAlreadyCompletedException.java deleted file mode 100644 index e30cb279454..00000000000 --- a/modules/core/src/main/java/org/apache/ignite/transactions/TransactionAlreadyCompletedException.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.transactions; - -/** - * Exception thrown whenever Mvcc transaction has been finished before operation finished. - * E.g. rollback due to some reason. - */ -public class TransactionAlreadyCompletedException extends TransactionException { - /** */ - private static final long serialVersionUID = 0L; - - /** - * Creates new exception with given error message and optional nested exception. - * - * @param msg Error message. - * @param cause Optional nested exception (can be {@code null}). - */ - public TransactionAlreadyCompletedException(String msg, Throwable cause) { - super(cause); - } -} diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/TransactionException.java b/modules/core/src/main/java/org/apache/ignite/transactions/TransactionException.java index d47fe08765f..166e0aa923e 100644 --- a/modules/core/src/main/java/org/apache/ignite/transactions/TransactionException.java +++ b/modules/core/src/main/java/org/apache/ignite/transactions/TransactionException.java @@ -39,7 +39,6 @@ import org.jetbrains.annotations.Nullable; * {@link TransactionOptimisticException} If operation with optimistic behavior failed. * {@link TransactionRollbackException} If operation performs within transaction that automatically rolled back. * {@link TransactionTimeoutException} If operation performs within transaction and timeout occurred. - * {@link TransactionSerializationException} If operation performs within mvcc transaction and write conflict occurred. */ public class TransactionException extends IgniteException { /** Serial version UID. */ diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/TransactionSerializationException.java b/modules/core/src/main/java/org/apache/ignite/transactions/TransactionSerializationException.java deleted file mode 100644 index 719b0859f73..00000000000 --- a/modules/core/src/main/java/org/apache/ignite/transactions/TransactionSerializationException.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.transactions; - -/** - * Exception thrown whenever transaction can't be serialized due to write conflict. - */ -public class TransactionSerializationException extends TransactionException { - /** */ - private static final long serialVersionUID = 0L; - - /** - * Creates new transaction serialization exception with given error message. - * - * @param msg Error message. - * @param cause Optional nested exception (can be {@code null}). - */ - public TransactionSerializationException(String msg, Exception cause) { - super(msg, cause); - } -} diff --git a/modules/core/src/main/resources/META-INF/classnames.properties b/modules/core/src/main/resources/META-INF/classnames.properties index 5b1158b34c0..b1890274783 100644 --- a/modules/core/src/main/resources/META-INF/classnames.properties +++ b/modules/core/src/main/resources/META-INF/classnames.properties @@ -2423,7 +2423,6 @@ org.apache.ignite.stream.StreamTransformer$1 org.apache.ignite.stream.StreamTransformer$EntryProcessorWrapper org.apache.ignite.stream.StreamVisitor org.apache.ignite.stream.StreamVisitor$1 -org.apache.ignite.transactions.TransactionAlreadyCompletedException org.apache.ignite.transactions.TransactionConcurrency org.apache.ignite.transactions.TransactionDeadlockException org.apache.ignite.transactions.TransactionDuplicateKeyException @@ -2432,7 +2431,6 @@ org.apache.ignite.transactions.TransactionHeuristicException org.apache.ignite.transactions.TransactionIsolation org.apache.ignite.transactions.TransactionOptimisticException org.apache.ignite.transactions.TransactionRollbackException -org.apache.ignite.transactions.TransactionSerializationException org.apache.ignite.transactions.TransactionState org.apache.ignite.transactions.TransactionTimeoutException org.apache.ignite.transactions.TransactionUnsupportedConcurrencyException diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClientCacheStartFailoverTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClientCacheStartFailoverTest.java index a424d10c73a..fbfff5248e3 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClientCacheStartFailoverTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClientCacheStartFailoverTest.java @@ -45,14 +45,12 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtAffini import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsFullMessage; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopology; import org.apache.ignite.internal.util.lang.GridAbsPredicate; -import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteBiPredicate; import org.apache.ignite.lang.IgnitePredicate; import org.apache.ignite.plugin.extensions.communication.Message; import org.apache.ignite.testframework.GridTestUtils; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; -import org.apache.ignite.transactions.TransactionSerializationException; import org.junit.Ignore; import org.junit.Test; @@ -361,16 +359,7 @@ public class IgniteClientCacheStartFailoverTest extends GridCommonAbstractTest { ", key=" + key + ", val=" + i + ']', e); - CacheConfiguration ccfg = cache.getConfiguration(CacheConfiguration.class); - - TransactionSerializationException txEx = X.cause(e, TransactionSerializationException.class); - - boolean notContains = !txEx.getMessage().contains( - "Cannot serialize transaction due to write conflict (transaction is marked for rollback)" - ); - - if (txEx == null || notContains) - fail("Assert violated because exception was thrown [e=" + e.getMessage() + ']'); + fail(); } } } diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingConcurrentSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingConcurrentSelfTest.java index 0078f404a0c..541a2df6239 100644 --- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingConcurrentSelfTest.java +++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingConcurrentSelfTest.java @@ -28,7 +28,6 @@ import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; -import javax.cache.CacheException; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.IgniteCheckedException; @@ -59,9 +58,7 @@ import org.apache.ignite.internal.processors.query.schema.message.SchemaFinishDi import org.apache.ignite.internal.util.future.GridFutureAdapter; import org.apache.ignite.internal.util.typedef.G; import org.apache.ignite.internal.util.typedef.T2; -import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.U; -import org.apache.ignite.transactions.TransactionSerializationException; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -388,10 +385,6 @@ public class DynamicEnableIndexingConcurrentSelfTest extends DynamicEnableIndexi else cache.remove(i); } - catch (CacheException e) { - if (!X.hasCause(e, TransactionSerializationException.class)) - throw e; - } finally { iterations.countDown(); } diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/QueryDataPageScanTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/QueryDataPageScanTest.java index 5e8f5d7e7ec..095b16448ab 100644 --- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/QueryDataPageScanTest.java +++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/QueryDataPageScanTest.java @@ -32,7 +32,6 @@ import java.util.UUID; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; -import javax.cache.CacheException; import org.apache.ignite.IgniteCache; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.cache.CacheAtomicityMode; @@ -58,7 +57,6 @@ import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteBiPredicate; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; -import org.apache.ignite.transactions.TransactionSerializationException; import org.jetbrains.annotations.Nullable; import org.junit.Ignore; import org.junit.Test; @@ -256,15 +254,6 @@ public class QueryDataPageScanTest extends GridCommonAbstractTest { tx.commit(); } - catch (CacheException e) { - assertTrue(e.getCause() instanceof TransactionSerializationException); - - if (!e.getMessage().contains( - "Cannot serialize transaction due to write conflict (transaction is marked for rollback)")) - throw new IllegalStateException(e); -// else -// U.warn(log, "Failed to commit TX, will ignore!"); - } } }, 16, "updater");