[JBoss JIRA] (ISPN-9778) XidImpl implementations can optimize some byte[] allocations
by William Burns (Jira)
William Burns created ISPN-9778:
-----------------------------------
Summary: XidImpl implementations can optimize some byte[] allocations
Key: ISPN-9778
URL: https://issues.jboss.org/browse/ISPN-9778
Project: Infinispan
Issue Type: Bug
Components: Transactions
Reporter: William Burns
Fix For: 10.0.0.Alpha2
The EmbeddedXid and XidImpl classes show up on profiler for allocating byte[] in a local environment.
1. We should be able to remove the branch byte[] completely as well as its accompanying AtomicInteger and just return an empty byte[] that is cached (ie. Util.EMPTY_BYTE_ARRAY).
2. We can use the byte[] that is provided from the create method directly in XidImpl, which would reduce our allocation to just the 1 byte[24] for embedded or byte[32] for remote.
3. We can return the byte[] directly for getGlobalTransactionId without copying.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9777) Default AdvancedCacheLoader#publishEntries can hang with more than 2048 entries
by William Burns (Jira)
William Burns created ISPN-9777:
-----------------------------------
Summary: Default AdvancedCacheLoader#publishEntries can hang with more than 2048 entries
Key: ISPN-9777
URL: https://issues.jboss.org/browse/ISPN-9777
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 9.3.0.Final
Reporter: William Burns
Assignee: William Burns
Fix For: 10.0.0.Alpha2
The default method for AdvancedCacheLoader#publishEntries relies on the invocation of the process method. This uses the PersistenceManagerCloseableSupplier to handle this. Unfortunately it uses a WithinThreadExecutor, which actually can cause the process method to deadlock with a single thread as it can fill up the queue of 2048 elements.
We should instead use a single threaded executor which would allow the loading of elements and retrieval in parallel on 2 different threads.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9754) Cache size method should consult Shared cache stores when not async
by Katia Aresti (Jira)
[ https://issues.jboss.org/browse/ISPN-9754?page=com.atlassian.jira.plugin.... ]
Katia Aresti updated ISPN-9754:
-------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Cache size method should consult Shared cache stores when not async
> -------------------------------------------------------------------
>
> Key: ISPN-9754
> URL: https://issues.jboss.org/browse/ISPN-9754
> Project: Infinispan
> Issue Type: Sub-task
> Affects Versions: 9.4.2.Final
> Reporter: William Burns
> Assignee: William Burns
> Priority: Major
> Fix For: 10.0.0.Alpha2, 9.4.3.Final
>
>
> When we have a shared store we can just consult the store to find the size. Note that passivation is not allowed with shared stores, so we don't have to worry about that option.
> This should allow for the size method to be much more performant as currently we always have to iterate over all the contents. Some stores may do this internally for size, but at least we have the option.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9776) Disconnected Near Cache
by Tristan Tarrant (Jira)
Tristan Tarrant created ISPN-9776:
-------------------------------------
Summary: Disconnected Near Cache
Key: ISPN-9776
URL: https://issues.jboss.org/browse/ISPN-9776
Project: Infinispan
Issue Type: Bug
Components: Hot Rod
Reporter: Tristan Tarrant
Fix For: 10.0.0.Final
The Hot Rod client with near cache enabled should have the option to be able to work in disconnected mode. On reconnection the near cache should be invalidated.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-1195) Rehashing and state transfer to use digesting
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-1195?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-1195:
----------------------------------
Labels: keycloak rehash state_transfer versioning (was: rehash state_transfer versioning)
> Rehashing and state transfer to use digesting
> ---------------------------------------------
>
> Key: ISPN-1195
> URL: https://issues.jboss.org/browse/ISPN-1195
> Project: Infinispan
> Issue Type: Feature Request
> Components: Core, Cross-Site Replication, State Transfer
> Reporter: Manik Surtani
> Assignee: Dan Berindei
> Priority: Critical
> Labels: keycloak, rehash, state_transfer, versioning
>
> Rather than pushing entire state to new joiners, a mechanism of digests should be used to minimise network transfers. For example, Merkle trees can be used to determine which entries are out of date and need pushing, in the case of nodes that persist to a local cache store, and is restarted but still has access to some state on disk.
> This would require versioned entries though.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9154) Handling X-Site split brains
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-9154?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-9154:
----------------------------------
Labels: keycloak redhat-summit-18 (was: redhat-summit-18)
> Handling X-Site split brains
> ----------------------------
>
> Key: ISPN-9154
> URL: https://issues.jboss.org/browse/ISPN-9154
> Project: Infinispan
> Issue Type: Feature Request
> Components: Cross-Site Replication
> Reporter: Galder Zamarreño
> Priority: Major
> Labels: keycloak, redhat-summit-18
>
> With ASYNC x-site configurations, sites can get out of sync when the replication link is down. We use RELAY2, which basically forwards traffic to other sites but what happen is one of them is flaky?
> The biggest hurdle here is the way state transfer works. Because it's manual, it requires someone (or some script) detecting the split and when it heals pushing the state via JMX op. Automatic rebalancing could take time given the links' extra latency, so it's not clear what the solution should be.
> We do definitely need to implement some soft of conflict resolution and apply the same semantics we use for inner cluster communication regardless.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months