[JBoss JIRA] (ISPN-6926) Server hang on start
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-6926?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes commented on ISPN-6926:
-----------------------------------------
Interestingly, the MSC service threads from Wildfly are in state RUNNABLE but clearly hung:
The Websocket server:
{noformat}
"MSC service thread 1-4" #15 prio=5 os_prio=0 tid=0x00007fbe48001000 nid=0x7ae0 in Object.wait() [0x00007fbe56f7d000]
java.lang.Thread.State: RUNNABLE
at io.netty.util.internal.SystemPropertyUtil.<clinit>(SystemPropertyUtil.java:38)
at io.netty.channel.epoll.Native.<clinit>(Native.java:56)
...
at org.infinispan.server.websocket.WebSocketServer.startInternal(WebSocketServer.java:57)
at org.infinispan.server.websocket.WebSocketServer.startInternal(WebSocketServer.java:36)
{noformat}
The rest server:
{noformat}
"MSC service thread 1-1" #14 prio=5 os_prio=0 tid=0x00007f73846d8000 nid=0x158 in Object.wait() [0x00007f73548e5000]
java.lang.Thread.State: RUNNABLE
at io.netty.util.internal.ThreadLocalRandom.<clinit>(ThreadLocalRandom.java:67)
...
at org.infinispan.server.endpoint.subsystem.RestService.start(RestService.java:101)
{noformat}
Memcached server:
{noformat}
"MSC service thread 1-2" #15 prio=5 os_prio=0 tid=0x00007f731c001000 nid=0x159 in Object.wait() [0x00007f73547e3000]
java.lang.Thread.State: RUNNABLE
at io.netty.util.internal.SystemPropertyUtil.<clinit>(SystemPropertyUtil.java:38)
...
at org.infinispan.server.memcached.MemcachedServer.startInternal(MemcachedServer.scala:22)
{noformat}
HotRod server:
{noformat}
"MSC service thread 1-3" #16 prio=5 os_prio=0 tid=0x00007f73846da000 nid=0x15b in Object.wait() [0x00007f73545e3000]
java.lang.Thread.State: RUNNABLE
at org.infinispan.server.core.AbstractProtocolServer.startTransport(AbstractProtocolServer.java:70)
...
at org.infinispan.server.hotrod.HotRodServer.startInternal(HotRodServer.scala:112)
{noformat}
The fact that the Threads are in RUNNABLE state but hung could indicate a deadlock in a static class initialization (https://bugs.openjdk.java.net/browse/JDK-8037567)
> Server hang on start
> --------------------
>
> Key: ISPN-6926
> URL: https://issues.jboss.org/browse/ISPN-6926
> Project: Infinispan
> Issue Type: Bug
> Components: Server, Test Suite - Server
> Reporter: Gustavo Fernandes
> Priority: Critical
> Attachments: server, surefire
>
>
> Server testsuite is hanging with the stack attached. Arquillian starts the server, and after it does not respond, tries to kill it, and block.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (ISPN-6926) Server hang on start
by Gustavo Fernandes (JIRA)
Gustavo Fernandes created ISPN-6926:
---------------------------------------
Summary: Server hang on start
Key: ISPN-6926
URL: https://issues.jboss.org/browse/ISPN-6926
Project: Infinispan
Issue Type: Bug
Components: Server, Test Suite - Server
Reporter: Gustavo Fernandes
Priority: Critical
Attachments: server, surefire
Server testsuite is hanging with the stack attached. Arquillian starts the server, and after it does not respond, tries to kill it, and block.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (ISPN-6922) Support for loading keystores from classpath in the Hot Rod client
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-6922?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-6922:
------------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 9.0.0.Alpha4
(was: 9.0.0.Beta1)
(was: 8.2.4.Final)
Resolution: Done
> Support for loading keystores from classpath in the Hot Rod client
> ------------------------------------------------------------------
>
> Key: ISPN-6922
> URL: https://issues.jboss.org/browse/ISPN-6922
> Project: Infinispan
> Issue Type: Enhancement
> Affects Versions: 9.0.0.Alpha3, 8.2.3.Final
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
> Fix For: 9.0.0.Alpha4
>
>
> Configuration of truststores and keystores in the Hot Rod client only work with files, In certain situation the application is packaged together with the hotrod client in a single jar and thus cannot load the keystores.
> Suggestion of supporting classpath resources:
> {code:title=hotrod-client.properties}
> infinispan.client.hotrod.trust_store_file_name=classpath:/some/loc/truststore.jks
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (ISPN-4286) Two concurrent putIfAbsent operations can both return null during rebalance
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-4286?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-4286:
--------------------------------
Fix Version/s: 9.0.0.Beta1
(was: 9.0.0.Alpha4)
> Two concurrent putIfAbsent operations can both return null during rebalance
> ---------------------------------------------------------------------------
>
> Key: ISPN-4286
> URL: https://issues.jboss.org/browse/ISPN-4286
> Project: Infinispan
> Issue Type: Bug
> Components: Core, State Transfer
> Affects Versions: 6.0.2.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Critical
> Fix For: 9.0.0.Beta1
>
>
> If the cache topology changes while executing a putIfAbsent operation, the old primary owner will throw an OutdatedTopologyException, and the originator will retry on the new owner.
> When retrying the PutKeyValueCommand on the new primary owner, we compare the current value with the command's new value. If they are equal, we assume that the initial command wrote the old value, and we return {{null}}.
> However, the value might have been written by another putIfAbsent operation. So we could have two {{putIfAbsent(k, v)}} operations, both returning {{null}}.
> {code}
> A is the originator, B is the primary owner, k = null
> A -> B: putIfAbsent(k, v1)
> B dies before writing v, C is now primary owner
> D -> C: putIfAbsent(k, v1) // another put operation from D, with the same value
> C -> D: null // correct
> A -> C: retry_putIfAbsent(k, v1)
> C -> A: null // C assumes A is overwriting its own value, so it's also returning null
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (ISPN-4159) DefaultTwoWayKey2StringMapper encodes objects to strings in a manner that is incompatible with string handling of some databases
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-4159?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-4159:
--------------------------------
Fix Version/s: 9.0.0.Beta1
(was: 9.0.0.Alpha4)
> DefaultTwoWayKey2StringMapper encodes objects to strings in a manner that is incompatible with string handling of some databases
> --------------------------------------------------------------------------------------------------------------------------------
>
> Key: ISPN-4159
> URL: https://issues.jboss.org/browse/ISPN-4159
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores
> Affects Versions: 6.0.0.Final
> Reporter: Adrian Nistor
> Assignee: Adrian Nistor
> Fix For: 9.0.0.Beta1
>
>
> DefaultTwoWayKey2StringMapper uses two neat tricks.
> 1. it does not encode all supported types, it only encodes non-Strings. Strings are kept unmodified.
> 2. it uses a special prefix (unicode char 0xfeff) to mark which strings were encoded and which are plain.
> Unfortunately some databases, notably MySql, interpret the endianness mark (0xfeff, 0xfffe), convert to native byte order and then drop it.
> This leaves us with no clue the string is not an actual String but an encoded representation of another type. This misinterpretation leads later to ClassCastExceptions in various places in core and user code.
> Proposed fix: get rid of #1 and #2 optimisations. Encode all objects, including Strings and always use the ?n prefix (where n stands for the original type). Drop the 0xFEFF marker prefix.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (ISPN-3918) Inconsistent view of the cache with putIfAbsent in a non-tx cache during state transfer
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-3918?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-3918:
--------------------------------
Fix Version/s: 9.0.0.Beta1
(was: 9.0.0.Alpha4)
> Inconsistent view of the cache with putIfAbsent in a non-tx cache during state transfer
> ---------------------------------------------------------------------------------------
>
> Key: ISPN-3918
> URL: https://issues.jboss.org/browse/ISPN-3918
> Project: Infinispan
> Issue Type: Bug
> Components: Core, State Transfer
> Affects Versions: 6.0.0.Final
> Reporter: Dan Berindei
> Fix For: 9.0.0.Beta1
>
> Attachments: ntpiadjst.log.gz
>
>
> In a non-tx cache, sometimes it's possible for a {{get(k)}} to return {{null}} even though a previous {{putIfAbsent(k, v)}} returned a non-null value and the only concurrent operations on the cache are concurrent putIfAbsent calls.
> Say \[B, A, C] are the owners of k (C just joined)
> 1. A starts a {{putIfAbsent(k, v1)}} command, sends it to B
> 2. B forwards the command to A and C
> 3. C writes {{k=v1}}
> 4. C becomes the primary owner of k (owners are now \[C, A])
> 5. A/B see the new topology before committing and throw an outdatedTopologyException
> 6. A retries the command, sends it to C
> 7. C forwards the command to A, which writes {{k=v1}}
> 8. C doesn't have to update the entry, returns null
> If, between steps 3 and 7, another thread on A starts a {{putIfAbsent(k, v2)}} command, the command will fail and return {{v1}} (because the primary owner already has a value). However, a subsequent {{get(k)}} command will return {{null}}, because A is an owner and doesn't have the value.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (ISPN-3906) Do not place ProtobufValueWrapper instances in the cache
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-3906?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-3906:
--------------------------------
Fix Version/s: 9.0.0.Beta1
(was: 9.0.0.Alpha4)
> Do not place ProtobufValueWrapper instances in the cache
> --------------------------------------------------------
>
> Key: ISPN-3906
> URL: https://issues.jboss.org/browse/ISPN-3906
> Project: Infinispan
> Issue Type: Task
> Components: Embedded Querying
> Affects Versions: 6.0.0.Final
> Reporter: Adrian Nistor
> Assignee: Adrian Nistor
> Fix For: 9.0.0.Beta1
>
>
> ProtobufValueWrapper is only needed in order to provide a classbridge so we can integrate with Hibernate Search. Still, we should not need to wrap the protobuf encoded byte array put in the cache with this class. It should only be created as a temporary wrapper just before we feed the data to Hibernate Search.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (ISPN-3835) Index Update command is processed before the registry listener is triggered
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-3835?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-3835:
--------------------------------
Fix Version/s: 9.0.0.Beta1
(was: 9.0.0.Alpha4)
> Index Update command is processed before the registry listener is triggered
> ---------------------------------------------------------------------------
>
> Key: ISPN-3835
> URL: https://issues.jboss.org/browse/ISPN-3835
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying
> Affects Versions: 6.0.0.Final
> Reporter: Sanne Grinovero
> Assignee: Gustavo Fernandes
> Priority: Critical
> Labels: 64QueryBlockers
> Fix For: 9.0.0.Beta1
>
>
> When using the InfinispanIndexManager backend the master node might receive an index update command about an index which it hasn't defined yet.
> Index definitions are triggered by the type registry, which in turn is driven by the ClusterRegistry and an event listener on the ClusterRegistry. It looks like slaves are sending update requests before the master has processed the configuration event.
> This leads to index update commands to be lost (with a stacktrace logged)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months