[JBoss JIRA] (ISPN-7579) SimpleDateFormat is not thread safe
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-7579?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-7579:
-----------------------------------------------
Jakub Senko <jsenko(a)redhat.com> changed the Status of [bug 1431965|https://bugzilla.redhat.com/show_bug.cgi?id=1431965] from POST to MODIFIED
> SimpleDateFormat is not thread safe
> -----------------------------------
>
> Key: ISPN-7579
> URL: https://issues.jboss.org/browse/ISPN-7579
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Protocols
> Affects Versions: 9.0.0.CR2
> Reporter: Tristan Tarrant
> Assignee: Tristan Tarrant
> Fix For: 9.0.0.CR4
>
>
> {{org.infinispan.rest.Server}} has a static field of {{DatePatternRfc1123LocaleUS}}, wihich is an instance of {{SimpleDateFormat}}, and is causing the following error during a load test.
> {code}
> 2017-03-03 15:57:55,939 ERROR [org.jboss.resteasy.plugins.server.netty.i18n] (nioEventLoopGroup-6-8) RESTEASY018525: Unexpected: org.jboss.resteasy.spi.UnhandledException: java.lang.ArrayIndexOutOfBoundsException: -2147483648
> at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:76)
> at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:212)
> at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:168)
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:411)
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
> at org.jboss.resteasy.plugins.server.netty.RequestDispatcher.service(RequestDispatcher.java:83)
> at org.jboss.resteasy.plugins.server.netty.RequestHandler.channelRead0(RequestHandler.java:54)
> at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:292)
> at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:32)
> at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:283)
> at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:358)
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:374)
> at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
> at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.ArrayIndexOutOfBoundsException: -2147483648
> at java.util.Calendar.getDisplayName(Calendar.java:2114)
> at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1125)
> at java.text.SimpleDateFormat.format(SimpleDateFormat.java:966)
> at java.text.SimpleDateFormat.format(SimpleDateFormat.java:936)
> at java.text.DateFormat.format(DateFormat.java:345)
> at org.infinispan.rest.Server.org$infinispan$rest$Server$$formatDate(Server.scala:222)
> at org.infinispan.rest.Server.org$infinispan$rest$Server$$getMimeEntry(Server.scala:140)
> at org.infinispan.rest.Server$$anonfun$getEntry$1$$anonfun$apply$10.apply(Server.scala:98)
> at org.infinispan.rest.Server$$anonfun$getEntry$1$$anonfun$apply$10.apply(Server.scala:96)
> at org.infinispan.rest.Server.org$infinispan$rest$Server$$ensureFreshEnoughEntry(Server.scala:111)
> at org.infinispan.rest.Server$$anonfun$getEntry$1.apply(Server.scala:95)
> at org.infinispan.rest.Server$$anonfun$getEntry$1.apply(Server.scala:89)
> at org.infinispan.rest.Server.protectCacheNotFound(Server.scala:498)
> at org.infinispan.rest.Server.getEntry(Server.scala:89)
> at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
> at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
> at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
> at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:395)
> ... 12 more
> {code}
> A similar issue is found here:
> https://github.com/rhuss/jolokia/issues/184
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months
[JBoss JIRA] (ISPN-7691) infinispan.client.hotrod.protocol_version ignored
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-7691?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes commented on ISPN-7691:
-----------------------------------------
I don't have anymore the stackTrace, but it should be reproducible by having a hotrodclient.properties with infinispan.client.hotrod.protocol_version set to an earlier version, e.g. "2.2".
At runtime, it will not be taken into account by the created client and it will send the lastes version when contacting the server.
> infinispan.client.hotrod.protocol_version ignored
> -------------------------------------------------
>
> Key: ISPN-7691
> URL: https://issues.jboss.org/browse/ISPN-7691
> Project: Infinispan
> Issue Type: Bug
> Reporter: Gustavo Fernandes
> Assignee: Katia Aresti
>
> Setting {{infinispan.client.hotrod.protocol_version}} via properties will not take effect due to a parsing error
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months
[JBoss JIRA] (ISPN-7764) Query 'not().having().contains()' gives unexpected result
by Kevin Tabary (JIRA)
Kevin Tabary created ISPN-7764:
----------------------------------
Summary: Query 'not().having().contains()' gives unexpected result
Key: ISPN-7764
URL: https://issues.jboss.org/browse/ISPN-7764
Project: Infinispan
Issue Type: Bug
Components: Remote Querying
Affects Versions: 9.0.0.Final
Reporter: Kevin Tabary
Given following domain object
{code}
@ProtoMessage
@ProtoDoc("@Indexed")
@EqualsAndHashCode(of = {"applicationCode", "applicationUserId"})
public class ApplicationUser {
private String applicationCode;
private String applicationUserId;
private Set<String> optoutCategories;
private Set<Device> devices;
//setter ommited
@ProtoField(number = 1)
public String getApplicationCode() {
return applicationCode;
}
@ProtoField(number = 2)
public String getApplicationUserId() {
return applicationUserId;
}
@ProtoField(number = 3, collectionImplementation = HashSet.class)
public Set<String> getOptoutCategories() {
return optoutCategories;
}
@ProtoField(number = 4, collectionImplementation = HashSet.class)
public Set<Device> getDevices() {
return devices;
}
{code}
and following request embedded in a Spring repository:
{code}
public List<ApplicationUser> test() {
QueryFactory qf = getQueryFactory();
return qf.from(ApplicationUser.class)
.not().having("optoutCategories").contains("CAT2")
.and().having("applicationCode").eq("My_App_Yaya")
.toBuilder()
.build()
.list();
}
{code}
and suppose the following json representation:
{code}
[
{
"applicationCode": "My_App_Yaya",
"applicationUserId": "123",
"optoutCategories": [
"CAT3",
"CAT2",
"CAT1"
],
"uniqueKey": "My_App_Yaya_123"
}
]
{code}
the query returns the ApplicationUser with json representation above, but should not as it precisely contains the optoutCategories we want to exclude.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months
[JBoss JIRA] (ISPN-7470) Distributed executor does not fail over unless future.get() is called
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-7470?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-7470:
-------------------------------
Fix Version/s: 9.1.0.Final
> Distributed executor does not fail over unless future.get() is called
> ---------------------------------------------------------------------
>
> Key: ISPN-7470
> URL: https://issues.jboss.org/browse/ISPN-7470
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 8.2.6.Final, 9.0.0.CR1
> Reporter: Dan Berindei
> Assignee: William Burns
> Fix For: 9.1.0.Final
>
>
> After ISPN-6392, {{DistributedExecutorService.submit(...)}} nominally returns a {{CompletableFuture}}. However, it doesn't behave like a regular {{CompletableFuture}}, because it doesn't run the failure policy until the user calls {{future.get()}}.
> {{future.isComplete()}} will return {{true}} before running the failure policy, and {{future.whenComplete(callback)}} will also execute the callback before running the failure policy.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months
[JBoss JIRA] (ISPN-7470) Distributed executor does not fail over unless future.get() is called
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-7470?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-7470:
-------------------------------
Status: Open (was: New)
> Distributed executor does not fail over unless future.get() is called
> ---------------------------------------------------------------------
>
> Key: ISPN-7470
> URL: https://issues.jboss.org/browse/ISPN-7470
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 8.2.6.Final, 9.0.0.CR1
> Reporter: Dan Berindei
> Assignee: William Burns
> Fix For: 9.1.0.Final
>
>
> After ISPN-6392, {{DistributedExecutorService.submit(...)}} nominally returns a {{CompletableFuture}}. However, it doesn't behave like a regular {{CompletableFuture}}, because it doesn't run the failure policy until the user calls {{future.get()}}.
> {{future.isComplete()}} will return {{true}} before running the failure policy, and {{future.whenComplete(callback)}} will also execute the callback before running the failure policy.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months