[JBoss JIRA] (ISPN-9717) HotRod Server incorrectly handles a larger value than 2147843 as -1 for lifespan / maxIdle
by Masafumi Miura (Jira)
[ https://issues.jboss.org/browse/ISPN-9717?page=com.atlassian.jira.plugin.... ]
Masafumi Miura updated ISPN-9717:
---------------------------------
Git Pull Request: https://github.com/infinispan/infinispan/pull/6402
> HotRod Server incorrectly handles a larger value than 2147843 as -1 for lifespan / maxIdle
> ------------------------------------------------------------------------------------------
>
> Key: ISPN-9717
> URL: https://issues.jboss.org/browse/ISPN-9717
> Project: Infinispan
> Issue Type: Bug
> Components: Hot Rod, Server
> Affects Versions: 9.4.1.Final
> Reporter: Masafumi Miura
> Priority: Major
>
> HotRod Server incorrectly handles a larger value than 2147843 seconds as -1 for lifespan / maxIdle.
> - example Hot Rod client code:
> {code}
> // long lifespan = 2147483L; // OK
> long lifespan = 2147484L; // incorrectly treated as -1
> // long lifespan = 2147483647L; // Integer.MAX_VALUE
> long maxIdle = lifespan;
> System.out.printf("Execute put() new entry \"%s=%s\" with lifespan=%s, maxIdle=%s\n", key, val, lifespan, maxIdle);
> cache.put(key, val, lifespan, TimeUnit.SECONDS, maxIdle, TimeUnit.SECONDS);
> System.out.printf("New entry created : %s = %s\n", key, cache.get(key));
> MetadataValue metadata = cache.getWithMetadata(key);
> System.out.printf("New entry metadata: lifespan=%s, maxIlde=%s, lastUsed=%s, created=%s\n", metadata.getLifespan(), metadata.getMaxIdle(), metadata.getLastUsed(), SDF.format(new Date(metadata.getCreated())));
> {code}
> - example logging output
> {code}
> Execute put() new entry "key=value" with lifespan=2147484, maxIdle=2147484
> New entry created : key = value
> New entry metadata: lifespan=-1, maxIlde=-1, lastUsed=-1, created=1970-01-01 08:59:59 999
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 5 months
[JBoss JIRA] (ISPN-9717) HotRod Server incorrectly handles a larger value than 2147843 as -1 for lifespan / maxIdle
by Masafumi Miura (Jira)
Masafumi Miura created ISPN-9717:
------------------------------------
Summary: HotRod Server incorrectly handles a larger value than 2147843 as -1 for lifespan / maxIdle
Key: ISPN-9717
URL: https://issues.jboss.org/browse/ISPN-9717
Project: Infinispan
Issue Type: Bug
Components: Hot Rod, Server
Affects Versions: 9.4.1.Final
Reporter: Masafumi Miura
HotRod Server incorrectly handles a larger value than 2147843 seconds as -1 for lifespan / maxIdle.
- example Hot Rod client code:
{code}
// long lifespan = 2147483L; // OK
long lifespan = 2147484L; // incorrectly treated as -1
// long lifespan = 2147483647L; // Integer.MAX_VALUE
long maxIdle = lifespan;
System.out.printf("Execute put() new entry \"%s=%s\" with lifespan=%s, maxIdle=%s\n", key, val, lifespan, maxIdle);
cache.put(key, val, lifespan, TimeUnit.SECONDS, maxIdle, TimeUnit.SECONDS);
System.out.printf("New entry created : %s = %s\n", key, cache.get(key));
MetadataValue metadata = cache.getWithMetadata(key);
System.out.printf("New entry metadata: lifespan=%s, maxIlde=%s, lastUsed=%s, created=%s\n", metadata.getLifespan(), metadata.getMaxIdle(), metadata.getLastUsed(), SDF.format(new Date(metadata.getCreated())));
{code}
- example logging output
{code}
Execute put() new entry "key=value" with lifespan=2147484, maxIdle=2147484
New entry created : key = value
New entry metadata: lifespan=-1, maxIlde=-1, lastUsed=-1, created=1970-01-01 08:59:59 999
{code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 5 months
[JBoss JIRA] (ISPN-9716) Update internal remote listener code to support non blocking
by William Burns (Jira)
William Burns created ISPN-9716:
-----------------------------------
Summary: Update internal remote listener code to support non blocking
Key: ISPN-9716
URL: https://issues.jboss.org/browse/ISPN-9716
Project: Infinispan
Issue Type: Sub-task
Components: Listeners
Reporter: William Burns
Assignee: William Burns
With ISPN-9714 we will not be able to have non blocking listeners. We need to update all of our remote listeners to use non blocking properly.
Note that the client listeners themselves currently do not send a response, so this does not mean to update our client listener objects, but rather the code supporting them (ie. ClientListenerRegistry).
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 5 months
[JBoss JIRA] (ISPN-9715) Update internal embedded listeners to be non blocking
by William Burns (Jira)
William Burns created ISPN-9715:
-----------------------------------
Summary: Update internal embedded listeners to be non blocking
Key: ISPN-9715
URL: https://issues.jboss.org/browse/ISPN-9715
Project: Infinispan
Issue Type: Sub-task
Components: Core, Listeners
Reporter: William Burns
With ISPN-9714 it will be possible to have a listener perform non blocking operations. Also any listener that doesn't return a CompletionStage is invoked in a different thread. We should convert all of our internal listeners to return a CompletionStage if they can, so that we don't have to incur the cost of switching threads to execute them.
We need to ensure that all embedded listeners return a CompletionStage and never block the current thread.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 5 months
[JBoss JIRA] (ISPN-9714) Update CacheNotifier to return CompletionStage
by William Burns (Jira)
William Burns created ISPN-9714:
-----------------------------------
Summary: Update CacheNotifier to return CompletionStage
Key: ISPN-9714
URL: https://issues.jboss.org/browse/ISPN-9714
Project: Infinispan
Issue Type: Sub-task
Components: Core, Listeners
Reporter: William Burns
Assignee: William Burns
Fix For: 10.0.0.Alpha1
We need to update CacheNotifier to return CompletionStage for all its appropriate methods. We also need to update all the internals to use these appropriately.
Not all notification usages may provide support non blocking, but our listener internals should support non blocking listeners for all.
The simplest way internally is to treat all current listeners as "alien" and invoke them in the notification thread pool. If it is sync we would wait for this task to complete. We would also now allow a listener to return a CompletionStage. If this is returned we will use this operate in a non blocking way.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 5 months