[JBoss JIRA] (HRJS-22) Exponential wait-based retries
by Galder Zamarreño (JIRA)
Galder Zamarreño created HRJS-22:
------------------------------------
Summary: Exponential wait-based retries
Key: HRJS-22
URL: https://issues.jboss.org/browse/HRJS-22
Project: Infinispan Javascript client
Issue Type: Enhancement
Reporter: Galder Zamarreño
Switch Hot Rod client from using maxRetries to using time based retries with exponential backoffs in order to avoid overloading the server with continuous retries.
Also, make sure you retry errors that can be fixed, e.g. connection close, IllegalLifecycleStateExceptions.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (ISPN-6774) Exponential wait-based retries
by Galder Zamarreño (JIRA)
Galder Zamarreño created ISPN-6774:
--------------------------------------
Summary: Exponential wait-based retries
Key: ISPN-6774
URL: https://issues.jboss.org/browse/ISPN-6774
Project: Infinispan
Issue Type: Enhancement
Reporter: Galder Zamarreño
Switch Hot Rod client from using maxRetries to using time based retries with exponential backoffs in order to avoid overloading the server with continuous retries.
Also, make sure you retry errors that can be fixed, e.g. connection close, IllegalLifecycleStateExceptions.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (ISPN-6773) Metadata updates get dropped with Functional API
by Krzysztof Sobolewski (JIRA)
Krzysztof Sobolewski created ISPN-6773:
------------------------------------------
Summary: Metadata updates get dropped with Functional API
Key: ISPN-6773
URL: https://issues.jboss.org/browse/ISPN-6773
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 8.2.2.Final, 9.0.0.Alpha2
Reporter: Krzysztof Sobolewski
I have a CacheLoader that injects EmbeddedMetadata so that I can specify the lifetime of the newly loaded entry. EmbeddedMetadata is supposed to be used when only lifespan or maxIdle are required (I only need lifespan); this works because the lifespan (and maxIdle) information is copied into the internal node itself - no extra Metadata object is allocated.
The InternalNode has several implementations, each used for the different combination of lifespan and maxIdle. Let's proceed with MortalCacheEntry (lifespan only). Its metadata-aware sibling is MetadataMortalCacheEntry. Each of those has a special code path in EntryWrappingInterceptor for updates of metadata. This path is chosen not based on the type of the InternalEntry (so that it can also work for new entries, where there's no internal entry object yet) but instead the decision is made in InternalEntryFactoryImpl.isStoreMetadata() based on the type of the Metadata object - if it returns true, then the path for MetadataMortalCacheEntry is used. This path then inspects the actual type of the internal entry object so that can update it accordingly.
Enter Functional API.
After I return EmbeddedMetadata from the CacheLoader, the expiration parameters are updated just fine - the EmbeddedMetadata is recognized and a MortalCacheEntry is created with the expected lifespan. Then, when we use {code:java}EntryView.WriteEntryView.set(value, params...){code} to update the metadata (which is the only way to do that in Functional API), the Metadata object in the entry gets replaced with an instance of MetaParamsInternalMetadata. This makes isStoreMetadata() return true (because the Metadata object is no longer EmbeddedMetadata). EntryWrappingInterceptor then goes into the metadata-aware code path where MortalCacheEntry is not handled (MetadataMortalCacheEntry is instead) and the metadata update is not performed at all.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (ISPN-6758) JDBC DB Major/Minor Versions not exposed by the server
by Ryan Emerson (JIRA)
[ https://issues.jboss.org/browse/ISPN-6758?page=com.atlassian.jira.plugin.... ]
Ryan Emerson updated ISPN-6758:
-------------------------------
Description: The ability for the user to configure the Major and Minor versions of the underlying DB that JDBC connects was added as part of ISPN-20, however the ability to read/configure these values via the server was omitted.
> JDBC DB Major/Minor Versions not exposed by the server
> ------------------------------------------------------
>
> Key: ISPN-6758
> URL: https://issues.jboss.org/browse/ISPN-6758
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores, Server
> Affects Versions: 9.0.0.Alpha2
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
>
> The ability for the user to configure the Major and Minor versions of the underlying DB that JDBC connects was added as part of ISPN-20, however the ability to read/configure these values via the server was omitted.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (ISPN-6772) Clarify error messages from JPA CacheStore failing to boot
by Adrian Nistor (JIRA)
[ https://issues.jboss.org/browse/ISPN-6772?page=com.atlassian.jira.plugin.... ]
Adrian Nistor updated ISPN-6772:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
Integrated in master. Thanks [~sannegrinovero]!
> Clarify error messages from JPA CacheStore failing to boot
> ----------------------------------------------------------
>
> Key: ISPN-6772
> URL: https://issues.jboss.org/browse/ISPN-6772
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Reporter: Sanne Grinovero
> Assignee: Sanne Grinovero
> Priority: Trivial
> Fix For: 9.0.0.Alpha3, 9.0.0.Final
>
>
> Currently when for any reason a Persistence Unit fails to boot - most commonly because of wrong configuration details or connection issues - the reported error is:
> {quote}Persistence unit [name of PU] not found{quote}
> This is confusing and never accurate, while avoiding to override the exceptions will result in better explanations.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (ISPN-6772) Clarify error messages from JPA CacheStore failing to boot
by Adrian Nistor (JIRA)
[ https://issues.jboss.org/browse/ISPN-6772?page=com.atlassian.jira.plugin.... ]
Adrian Nistor updated ISPN-6772:
--------------------------------
Fix Version/s: 9.0.0.Final
> Clarify error messages from JPA CacheStore failing to boot
> ----------------------------------------------------------
>
> Key: ISPN-6772
> URL: https://issues.jboss.org/browse/ISPN-6772
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Reporter: Sanne Grinovero
> Assignee: Sanne Grinovero
> Priority: Trivial
> Fix For: 9.0.0.Alpha3, 9.0.0.Final
>
>
> Currently when for any reason a Persistence Unit fails to boot - most commonly because of wrong configuration details or connection issues - the reported error is:
> {quote}Persistence unit [name of PU] not found{quote}
> This is confusing and never accurate, while avoiding to override the exceptions will result in better explanations.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (ISPN-6740) Client topologies not updated when cache topology loaded from persistent state
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-6740?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-6740:
-------------------------------
Status: Pull Request Sent (was: Reopened)
Git Pull Request: https://github.com/infinispan/infinispan/pull/4391, https://github.com/infinispan/infinispan/pull/4394, https://github.com/infinispan/infinispan/pull/4409, https://github.com/infinispan/infinispan/pull/4410 (was: https://github.com/infinispan/infinispan/pull/4391, https://github.com/infinispan/infinispan/pull/4394)
> Client topologies not updated when cache topology loaded from persistent state
> ------------------------------------------------------------------------------
>
> Key: ISPN-6740
> URL: https://issues.jboss.org/browse/ISPN-6740
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Protocols, State Transfer
> Affects Versions: 9.0.0.Alpha2, 8.2.2.Final
> Reporter: Galder Zamarreño
> Assignee: Dan Berindei
> Fix For: 9.0.0.Alpha3, 9.0.0.Final, 8.2.3.Final
>
>
> Infinispan Caches now support storing persistent views. When these are loaded, these might be loaded with topology ID 0:
> {code}
> 2016-05-31 10:20:04,254 INFO [org.infinispan.globalstate.impl.GlobalStateManagerImpl] (MSC service thread 1-3)
> ISPN000389: Loaded global state, version=9.0.0-SNAPSHOT timestamp=2016-05-30T12:03:33.822Z
> ....
> 2016-05-31 10:20:07,867 TRACE [org.infinispan.statetransfer.StateTransferManagerImpl] (MSC service thread 1-6)
> Installing new cache topology CacheTopology{id=0, rebalanceId=0, currentCH=DefaultConsistentHash{ns=20, owners = (3)[node5: 7+5, node4: 7+7, node6: 6+8]},
> pendingCH=null, unionCH=null, actualMembers=[node5, node4, node6], persistentUUIDs=[
> bb76729d-2b30-4e54-8108-4ac1db9a04cf, bb76729d-2b30-4e54-8108-4ac1db9a04cf, bb76729d-2b30-4e54-8108-4ac1db9a04cf]} on cache default
> {code}
> If there's no further view changes, the topology ID will remain 0. When a Hot Rod client first connects, it sends its view topology as 0 so that it receives a newly installed topology, but if the topology is already 0 in the server, the server won't send the installed topology, even though it should be newer than having no topology.
> We should start numbering topologies in server starting from 1 instead. That avoids this issue. This is easier than forcing clients to send -1 as initial topology because the topology ID is currently defined as VInt that can only 0 or positive number.
> Also, some extra log messages indicating that the cache topology installed comes from persisted state would be handy for debugging.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months