lukasz-antoniak commented on code in PR #1934: URL: https://github.com/apache/cassandra-java-driver/pull/1934#discussion_r1618670454
########## integration-tests/src/test/java/com/datastax/oss/driver/mapper/DeleteReactiveIT.java: ########## @@ -34,23 +34,27 @@ import com.datastax.oss.driver.api.mapper.annotations.Mapper; import com.datastax.oss.driver.api.mapper.annotations.Select; import com.datastax.oss.driver.api.mapper.entity.saving.NullSavingStrategy; -import com.datastax.oss.driver.api.testinfra.ccm.CcmRule; +import com.datastax.oss.driver.api.testinfra.ccm.CustomCcmRule; +import com.datastax.oss.driver.api.testinfra.requirement.BackendRequirement; +import com.datastax.oss.driver.api.testinfra.requirement.BackendType; import com.datastax.oss.driver.api.testinfra.session.SessionRule; -import com.datastax.oss.driver.categories.ParallelizableTests; import io.reactivex.Flowable; import java.util.UUID; import org.junit.Before; import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.Test; -import org.junit.experimental.categories.Category; import org.junit.rules.RuleChain; import org.junit.rules.TestRule; -@Category(ParallelizableTests.class) +// Do not run LWT tests in parallel because they may interfere. Tests operate on the same row. +@BackendRequirement( + type = BackendType.CASSANDRA, + description = "SASI indexes broken in DSE. See InventoryITBase#BROKEN_SASI_VERSION.") Review Comment: I had a wrong impression that there are more DSE versions that are actually broken. Hereby integration tests for deletion of entities, we do not want to run in parallel, because they may interfere one with another. Shared `CcmBridge` can be used only with `@Category(ParallelizableTests.class)`, which we do not want. `CustomCcmRule` is mostly used together with `@BackendRequirement`. I had a problem with this test running agains DSE, because `enable_sasi_indexes` is an invalid configuration parameter. So to make this test work for C*, I had to set `enable_sasi_indexes = true`, but not for DSE. After further debugging, I have found the root cause - `DefaultCcmBridgeBuilderCustomizer` is not applied to `CustomCcmRule`. I shall not reuse `DefaultCcmBridgeBuilderCustomizer`, because it adds other parameters that causes other integration tests to break (once using `CustomCcmRule`). In the end, I have implemented a dedicated `configureCcm` method inside the tests. `enable_sasi_indexes` is required for one delete statement to succeed inside this test class, so I think we can leave configuration local. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
