[JBoss JIRA] (ISPN-10326) Introduce `.impl` package for internal marshalling classes
by Ryan Emerson (Jira)
Ryan Emerson created ISPN-10326:
-----------------------------------
Summary: Introduce `.impl` package for internal marshalling classes
Key: ISPN-10326
URL: https://issues.jboss.org/browse/ISPN-10326
Project: Infinispan
Issue Type: Sub-task
Components: Core
Reporter: Ryan Emerson
Assignee: Ryan Emerson
Fix For: 10.0.0.Beta4
Currently the `org.infinispan.marshall.core` and `org.infinispan.commons.marshall` packages expose a lot of internal classes which users should never attempt to use. To make this clearer, we should migrate internal classes to a `impl` package.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-9291) BasePartitionHandlingTest.Partition.installMergeView() doesn't compute the merge digest
by Ryan Emerson (Jira)
[ https://issues.jboss.org/browse/ISPN-9291?page=com.atlassian.jira.plugin.... ]
Ryan Emerson resolved ISPN-9291.
--------------------------------
Fix Version/s: 10.0.0.Beta4
(was: 10.0.0.Final)
Resolution: Done
> BasePartitionHandlingTest.Partition.installMergeView() doesn't compute the merge digest
> ---------------------------------------------------------------------------------------
>
> Key: ISPN-9291
> URL: https://issues.jboss.org/browse/ISPN-9291
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Core
> Affects Versions: 9.3.0.CR1
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Minor
> Labels: testsuite_stability
> Fix For: 10.0.0.Beta4, 9.4.16.Final
>
>
> The partition handling tests use {{BasePartitionHandlingTest.Partition.installMergeView(view1, view2)}} to install the merge view without waiting for {{MERGE3}} to run, making them much faster. Unfortunately, the implementation is incorrect: {{GMS.installView(view)}} only works for regular views, merge views need to be installed with {{GMS.installView(mergeView, digest)}}.
> The result is that the nodes that got isolated from the coordinator request the retransmission of all the {{NAKACK2}} messages (including view updates) since the cluster first started. The isolated nodes cannot install the merge view until they deliver all the older messages (even without knowing whether they're OOB or not). But if {{STABLE}} ran and cleared a range of messages already, the retransmission request cannot be satisfied, so the view updates will never be delivered.
> This is easily reproducible in {{CrashedNodeDuringConflictResolutionTest}} if we add a delay before updating the topology in {{StateConsumerImpl}}. The test installs the merge view manually, but then kills NodeC and expects the cluster to install the new view automatically. NodeD can't install the new view because it's waiting for earlier messages from NodeA:
> {noformat}
> 18:27:13,054 INFO (testng-test:[]) [TestSuiteProgress] Test starting: org.infinispan.conflict.impl.CrashedNodeDuringConflictResolutionTest.testPartitionMergePolicy[DIST_SYNC]
> 18:27:13,640 DEBUG (testng-test:[]) [GMS] test-NodeA-39513: installing view MergeView::[test-NodeA-39513|10] (4) [test-NodeA-39513, test-NodeB-9439, test-NodeC-43706, test-NodeD-59078], 2 subgroups: [test-NodeA-39513|8] (2) [test-NodeA-39513, test-NodeB-9439], [test-NodeC-43706|9] (2) [test-NodeC-43706, test-NodeD-59078]
> 18:27:13,674 DEBUG (testng-test:[]) [GMS] test-NodeD-59078: installing view MergeView::[test-NodeA-39513|10] (4) [test-NodeA-39513, test-NodeB-9439, test-NodeC-43706, test-NodeD-59078], 2 subgroups: [test-NodeA-39513|8] (2) [test-NodeA-39513, test-NodeB-9439], [test-NodeC-43706|9] (2) [test-NodeC-43706, test-NodeD-59078]
> 18:27:13,828 TRACE (jgroups-7,test-NodeD-59078:[]) [NAKACK2] test-NodeD-59078: sending XMIT_REQ ((1): {50}) to test-NodeA-39513
> 18:27:13,966 TRACE (Timer runner-1,test-NodeD-59078:[]) [NAKACK2] test-NodeD-59078: sending XMIT_REQ ((49): {1-49}) to test-NodeA-39513
> 18:27:14,067 TRACE (Timer runner-1,test-NodeD-59078:[]) [NAKACK2] test-NodeD-59078: sending XMIT_REQ ((45): {1-45}) to test-NodeA-39513
> 18:27:14,504 DEBUG (testng-test:[]) [DefaultCacheManager] Stopping cache manager ISPN on test-NodeC-43706
> 18:27:18,642 TRACE (VERIFY_SUSPECT.TimerThread-89,test-NodeA-39513:[]) [GMS] test-NodeA-39513: joiners=[], suspected=[test-NodeC-43706], leaving=[], new view: [test-NodeA-39513|11] (3) [test-NodeA-39513, test-NodeB-9439, test-NodeD-59078]
> 18:27:18,643 TRACE (VERIFY_SUSPECT.TimerThread-89,test-NodeA-39513:[]) [GMS] test-NodeA-39513: mcasting view [test-NodeA-39513|11] (3) [test-NodeA-39513, test-NodeB-9439, test-NodeD-59078]
> 18:27:18,646 DEBUG (VERIFY_SUSPECT.TimerThread-89,test-NodeA-39513:[]) [GMS] test-NodeA-39513: installing view [test-NodeA-39513|11] (3) [test-NodeA-39513, test-NodeB-9439, test-NodeD-59078]
> 18:27:18,652 TRACE (VERIFY_SUSPECT.TimerThread-89,test-NodeA-39513:[]) [TCP_NIO2] test-NodeA-39513: sending msg to null, src=test-NodeA-39513, headers are GMS: GmsHeader[VIEW], NAKACK2: [MSG, seqno=63], TP: [cluster_name=ISPN]
> 18:27:18,656 TRACE (jgroups-20,test-NodeA-39513:[]) [TCP_NIO2] test-NodeA-39513: received [dst: test-NodeA-39513, src: test-NodeB-9439 (3 headers), size=0 bytes, flags=OOB|INTERNAL], headers are GMS: GmsHeader[VIEW_ACK], UNICAST3: DATA, seqno=100, TP: [cluster_name=ISPN]
> 18:27:20,554 TRACE (Timer runner-1,test-NodeD-59078:[]) [NAKACK2] test-NodeD-59078: sending XMIT_REQ ((45): {1-45}) to test-NodeA-39513
> 18:27:20,653 WARN (VERIFY_SUSPECT.TimerThread-89,test-NodeA-39513:[]) [GMS] test-NodeA-39513: failed to collect all ACKs (expected=2) for view [test-NodeA-39513|11] after 2000ms, missing 1 ACKs from (1) test-NodeD-59078
> 18:27:20,656 TRACE (Timer runner-1,test-NodeD-59078:[]) [NAKACK2] test-NodeD-59078: sending XMIT_REQ ((45): {1-45}) to test-NodeA-39513
> 18:27:20,756 TRACE (Timer runner-1,test-NodeD-59078:[]) [NAKACK2] test-NodeD-59078: sending XMIT_REQ ((45): {1-45}) to test-NodeA-39513
> ...
> 18:28:14,412 TRACE (Timer runner-1,test-NodeD-59078:[]) [NAKACK2] test-NodeD-59078: sending XMIT_REQ ((45): {1-45}) to test-NodeA-39513
> 18:28:14,513 TRACE (Timer runner-1,test-NodeD-59078:[]) [NAKACK2] test-NodeD-59078: sending XMIT_REQ ((45): {1-45}) to test-NodeA-39513
> 18:28:14,589 ERROR (testng-test:[]) [TestSuiteProgress] Test failed: org.infinispan.conflict.impl.CrashedNodeDuringConflictResolutionTest.testPartitionMergePolicy[DIST_SYNC]
> java.lang.RuntimeException: Cache ___defaultcache timed out waiting for rebalancing to complete on node test-NodeA-39513, current topology is CacheTopology{id=21, phase=CONFLICT_RESOLUTION, rebalanceId=7, currentCH=PartitionerConsistentHash:DefaultConsistentHash{ns=256, owners = (3)[test-NodeD-59078: 256+0, test-NodeA-39513: 0+256, test-NodeB-9439: 0+256]}, pendingCH=null, unionCH=null, actualMembers=[test-NodeD-59078, test-NodeA-39513, test-NodeB-9439], persistentUUIDs=[828108c4-4251-49fc-9481-ff6392bea9fb, 1d4b6f07-b71b-41a1-adfb-abbe68944a9f, 3a1ece05-c282-433e-9eb5-7b3e0f1932aa]}. rebalanceInProgress=true, currentChIsBalanced=true
> at org.infinispan.test.TestingUtil.waitForNoRebalance(TestingUtil.java:392) ~[test-classes/:?]
> at org.infinispan.conflict.impl.CrashedNodeDuringConflictResolutionTest.performMerge(CrashedNodeDuringConflictResolutionTest.java:113) ~[test-classes/:?]
> at org.infinispan.conflict.impl.BaseMergePolicyTest.testPartitionMergePolicy(BaseMergePolicyTest.java:137) ~[test-classes/:?]
> {noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-10305) EmbeddedAllTest doesn't clean up its files
by Ryan Emerson (Jira)
[ https://issues.jboss.org/browse/ISPN-10305?page=com.atlassian.jira.plugin... ]
Ryan Emerson resolved ISPN-10305.
---------------------------------
Resolution: Done
> EmbeddedAllTest doesn't clean up its files
> ------------------------------------------
>
> Key: ISPN-10305
> URL: https://issues.jboss.org/browse/ISPN-10305
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Core
> Affects Versions: 10.0.0.Beta3, 9.4.14.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Labels: testsuite_stability
> Fix For: 10.0.0.Beta4, 9.4.16.Final
>
>
> Because the store files are not deleted before/after the test, running the test suite on 2 different branch will cause random failures:
> {noformat}
> org.infinispan.persistence.spi.PersistenceException: java.lang.NullPointerException
> at org.infinispan.persistence.rocksdb.RocksDBStore$RocksDBHandler.load(RocksDBStore.java:613)
> at org.infinispan.persistence.rocksdb.RocksDBStore.load(RocksDBStore.java:289)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.loadFromAllStores(PersistenceManagerImpl.java:646)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndCheckExpiration(PersistenceUtil.java:139)
> at org.infinispan.persistence.internal.PersistenceUtil.lambda$loadAndComputeInDataContainer$0(PersistenceUtil.java:97)
> at org.infinispan.container.impl.AbstractInternalDataContainer.lambda$compute$3(AbstractInternalDataContainer.java:230)
> at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908)
> at org.infinispan.container.impl.AbstractInternalDataContainer.compute(AbstractInternalDataContainer.java:229)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndComputeInDataContainer(PersistenceUtil.java:119)
> ...
> at org.infinispan.all.embedded.EmbeddedAllTest.testDataSurvived(EmbeddedAllTest.java:206)
> at org.infinispan.all.embedded.EmbeddedAllTest.testAllEmbeddedRocksDbStore(EmbeddedAllTest.java:175)
> Caused by: java.lang.NullPointerException
> at org.infinispan.marshall.core.GlobalMarshaller.readWithExternalizer(GlobalMarshaller.java:708)
> at org.infinispan.marshall.core.GlobalMarshaller.readNonNullableObject(GlobalMarshaller.java:691)
> at org.infinispan.marshall.core.GlobalMarshaller.readNullableObject(GlobalMarshaller.java:361)
> at org.infinispan.marshall.core.GlobalMarshaller.objectFromObjectInput(GlobalMarshaller.java:194)
> at org.infinispan.marshall.core.GlobalMarshaller.objectFromByteBuffer(GlobalMarshaller.java:190)
> at org.infinispan.persistence.rocksdb.RocksDBStore.unmarshall(RocksDBStore.java:416)
> at org.infinispan.persistence.rocksdb.RocksDBStore.access$400(RocksDBStore.java:61)
> at org.infinispan.persistence.rocksdb.RocksDBStore$RocksDBHandler.load(RocksDBStore.java:604)
> ... 83 more
> org.infinispan.commons.CacheException: java.lang.ClassCastException: class org.infinispan.metadata.EmbeddedMetadata cannot be cast to class org.infinispan.metadata.InternalMetadata (org.infinispan.metadata.EmbeddedMetadata and org.infinispan.metadata.InternalMetadata are in unnamed module of loader 'app')
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.rethrowException(InvocationContextInterceptor.java:134)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.lambda$new$0(InvocationContextInterceptor.java:62)
> at org.infinispan.interceptors.InvocationExceptionFunction.apply(InvocationExceptionFunction.java:25)
> at org.infinispan.interceptors.impl.SimpleAsyncInvocationStage.addCallback(SimpleAsyncInvocationStage.java:70)
> at org.infinispan.interceptors.InvocationStage.andExceptionally(InvocationStage.java:55)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:128)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
> at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:248)
> at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1918)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1433)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:2043)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:230)
> at org.infinispan.cache.impl.AbstractDelegatingCache.put(AbstractDelegatingCache.java:448)
> at org.infinispan.cache.impl.EncoderCache.put(EncoderCache.java:675)
> at org.infinispan.all.embedded.EmbeddedAllTest.testDataSurvived(EmbeddedAllTest.java:206)
> at org.infinispan.all.embedded.EmbeddedAllTest.testAllEmbeddedFileStore(EmbeddedAllTest.java:136)
> Caused by: java.lang.ClassCastException: class org.infinispan.metadata.EmbeddedMetadata cannot be cast to class org.infinispan.metadata.InternalMetadata (org.infinispan.metadata.EmbeddedMetadata and org.infinispan.metadata.InternalMetadata are in unnamed module of loader 'app')
> at org.infinispan.marshall.core.MarshalledEntryImpl.getMetadata(MarshalledEntryImpl.java:91)
> at org.infinispan.persistence.internal.PersistenceUtil.convert(PersistenceUtil.java:150)
> at org.infinispan.persistence.internal.PersistenceUtil.lambda$loadAndComputeInDataContainer$0(PersistenceUtil.java:102)
> at org.infinispan.container.impl.AbstractInternalDataContainer.lambda$compute$3(AbstractInternalDataContainer.java:230)
> at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908)
> at org.infinispan.container.impl.AbstractInternalDataContainer.compute(AbstractInternalDataContainer.java:229)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndComputeInDataContainer(PersistenceUtil.java:119)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndStoreInDataContainer(PersistenceUtil.java:53)
> {noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-9772) Cache v2 Resource
by Gustavo Fernandes (Jira)
[ https://issues.jboss.org/browse/ISPN-9772?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes commented on ISPN-9772:
-----------------------------------------
Some operations need work before exposing via REST:
- Stop cache: cluster wide shutdown needs ISPN-10315
- Disable a cache temporarily: this is tied to DMR/Widlfy subystem currently and need to be abstracted away ISPN-10325
- Efficient cache entry iteration, with or without keys: since REST clients cannot keep state and can contact any server of the cluster for every request, the current remote iterator cannot be used. Postponed for now.
> Cache v2 Resource
> -----------------
>
> Key: ISPN-9772
> URL: https://issues.jboss.org/browse/ISPN-9772
> Project: Infinispan
> Issue Type: Sub-task
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
> Priority: Major
>
> The new cache resource should include most of operations in the current v1 resource, plus:
> * Possibility to create a cache passing a configuration
> * Possibility to obtain the cache configuration
> * Extra operations:
> -* Stop cache (clustered or not)
> -* Disable a cache temporarily
> -* Obtain stats about the cache
> -* Efficient cache entry iteration, with or without keys
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-10325) Disable a cache temporarily relies on DMR
by Gustavo Fernandes (Jira)
Gustavo Fernandes created ISPN-10325:
----------------------------------------
Summary: Disable a cache temporarily relies on DMR
Key: ISPN-10325
URL: https://issues.jboss.org/browse/ISPN-10325
Project: Infinispan
Issue Type: Feature Request
Reporter: Gustavo Fernandes
The possibility of enabling/disabling a cache remote endpint is currently tied in to the wildfly/DMR model that populates a list. This should be decoupled so that can be done via REST
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months