[JBoss JIRA] (ISPN-9483) TEST_PING doesn't trigger merge after JGroups 4.0.13 upgrade
by Dan Berindei (JIRA)
Dan Berindei created ISPN-9483:
----------------------------------
Summary: TEST_PING doesn't trigger merge after JGroups 4.0.13 upgrade
Key: ISPN-9483
URL: https://issues.jboss.org/browse/ISPN-9483
Project: Infinispan
Issue Type: Bug
Components: Test Suite - Core
Affects Versions: 9.4.0.CR1
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 9.4.0.Final
In JGroups 4.0.13.Final, {{MERGE3}} started using the {{ASYNC_DISCOVERY_EVENT}} to find other members. {{TEST_PING}} doesn't handle the event correctly, at least when trace logging is enabled, and the merge never happens.
{{Discovery}} should handle the new event automatically, but it only works if the discovery protocol actively sends out {{GET_MBRS_REQ}} messages and receives {{GET_MBRS_RSP}} messages from other members. {{TEST_PING}} doesn't receive any {{GET_MBRS_RSP}} messages, so {{Discovery.addResponse()}} is never called.
This causes failures in all the tests that split the cluster and heal it, but for some reason CI isn't reporting the failures:
{noformat}
[OK: 70, KO: 1, SKIP: 0] Test failed: org.infinispan.distribution.rehash.RehashAfterPartitionMergeTest.testCachePartition[DIST_SYNC]
java.lang.RuntimeException: Timed out before caches had changed views ([[RehashAfterPartitionMergeTest[DIST_SYNC]-NodeB-45390], [RehashAfterPartitionMergeTest[DIST_SYNC]-NodeD-46782]]) to contain 2 members
at org.infinispan.test.TestingUtil.blockUntilViewsChanged(TestingUtil.java:761)
at org.infinispan.test.TestingUtil.blockUntilViewsChanged(TestingUtil.java:743)
at org.infinispan.distribution.rehash.RehashAfterPartitionMergeTest.testCachePartition(RehashAfterPartitionMergeTest.java:67)
{noformat}
https://ci.infinispan.org/job/Infinispan/job/master/808/consoleFull
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 1 month
[JBoss JIRA] (ISPN-9482) Authorization exceptions are never sent to the client if access logging is enabled
by Dan Berindei (JIRA)
Dan Berindei created ISPN-9482:
----------------------------------
Summary: Authorization exceptions are never sent to the client if access logging is enabled
Key: ISPN-9482
URL: https://issues.jboss.org/browse/ISPN-9482
Project: Infinispan
Issue Type: Bug
Components: Server, Test Suite - Server
Affects Versions: 9.4.0.CR1
Reporter: Dan Berindei
I've noticed the problem when running {{AuthenticationTest.testAuthenticationFailNoAuth}} with trace logging enabled. The server never sends the authorization exception to the client because logging the exception also performs a security check.
On the server side, Netty logs an unhandled exception:
{noformat}
19:43:22,617 DEBUG (HotRod-ServerIO-3-1) [BaseDecoder] Exception caught
io.netty.handler.codec.DecoderException: java.lang.SecurityException: ISPN006017: Unauthorized operation
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:459) ~[netty-codec-4.1.22.Final.jar:4.1.22.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) ~[netty-codec-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
at org.infinispan.server.core.transport.StatsChannelHandler.channelRead(StatsChannelHandler.java:26) [classes/:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1414) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:945) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:806) [netty-transport-native-epoll-4.1.22.Final-linux-x86_64.jar:4.1.22.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) [netty-transport-native-epoll-4.1.22.Final-linux-x86_64.jar:4.1.22.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [netty-transport-native-epoll-4.1.22.Final-linux-x86_64.jar:4.1.22.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) [netty-common-4.1.22.Final.jar:4.1.22.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.22.Final.jar:4.1.22.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
Caused by: java.lang.SecurityException: ISPN006017: Unauthorized operation
at org.infinispan.server.hotrod.Authentication.getSubject(Authentication.java:152) ~[classes/:?]
at org.infinispan.server.hotrod.HotRodDecoder.getHeader(HotRodDecoder.java:133) ~[classes/:?]
at org.infinispan.server.hotrod.HotRodDecoder.exceptionally(HotRodDecoder.java:3327) ~[classes/:?]
at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.java:145) ~[classes/:?]
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) ~[netty-codec-4.1.22.Final.jar:4.1.22.Final]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428) ~[netty-codec-4.1.22.Final.jar:4.1.22.Final]
... 19 more
{noformat}
On the client side, nothing is received, and the test eventually times out:
{noformat}
19:43:25,192 ERROR (testng-Test) [TestSuiteProgress] Test failed: org.infinispan.client.hotrod.AuthenticationTest.testAuthenticationFailNoAuth
org.infinispan.client.hotrod.exceptions.TransportException: java.net.SocketTimeoutException: PutOperation{(default), key=[B0x033E0161, value=[B0x033E0161, flags=6} timed out after 3000 ms
at org.infinispan.client.hotrod.impl.Util.rewrap(Util.java:54) ~[classes/:?]
at org.infinispan.client.hotrod.impl.Util.await(Util.java:27) ~[classes/:?]
at org.infinispan.client.hotrod.impl.RemoteCacheImpl.put(RemoteCacheImpl.java:264) ~[classes/:?]
at org.infinispan.client.hotrod.impl.RemoteCacheSupport.put(RemoteCacheSupport.java:79) ~[classes/:?]
at org.infinispan.client.hotrod.AuthenticationTest.testAuthenticationFailNoAuth(AuthenticationTest.java:71) ~[test-classes/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_171]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_171]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_171]
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85) ~[testng-6.9.9.jar:?]
at org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:196) ~[testng-6.9.9.jar:?]
at org.infinispan.commons.test.TestNGLongTestsHook.run(TestNGLongTestsHook.java:24) ~[classes/:?]
at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:208) ~[testng-6.9.9.jar:?]
at org.testng.internal.Invoker.invokeMethod(Invoker.java:635) [testng-6.9.9.jar:?]
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816) [testng-6.9.9.jar:?]
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1124) [testng-6.9.9.jar:?]
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) [testng-6.9.9.jar:?]
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) [testng-6.9.9.jar:?]
at org.testng.TestRunner.privateRun(TestRunner.java:774) [testng-6.9.9.jar:?]
at org.testng.TestRunner.run(TestRunner.java:624) [testng-6.9.9.jar:?]
at org.testng.SuiteRunner.runTest(SuiteRunner.java:359) [testng-6.9.9.jar:?]
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354) [testng-6.9.9.jar:?]
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:312) [testng-6.9.9.jar:?]
at org.testng.SuiteRunner.run(SuiteRunner.java:261) [testng-6.9.9.jar:?]
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) [testng-6.9.9.jar:?]
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) [testng-6.9.9.jar:?]
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1215) [testng-6.9.9.jar:?]
at org.testng.TestNG.runSuitesLocally(TestNG.java:1140) [testng-6.9.9.jar:?]
at org.testng.TestNG.run(TestNG.java:1048) [testng-6.9.9.jar:?]
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72) [testng-plugin.jar:?]
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123) [testng-plugin.jar:?]
Caused by: java.net.SocketTimeoutException: PutOperation{(default), key=[B0x033E0161, value=[B0x033E0161, flags=6} timed out after 3000 ms
at org.infinispan.client.hotrod.impl.operations.HotRodOperation.run(HotRodOperation.java:172) ~[classes/:?]
at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38) ~[netty-common-4.1.22.Final.jar:4.1.22.Final]
at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:125) ~[netty-common-4.1.22.Final.jar:4.1.22.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:163) ~[netty-common-4.1.22.Final.jar:4.1.22.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java) ~[netty-common-4.1.22.Final.jar:4.1.22.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) ~[netty-common-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:309) ~[netty-transport-native-epoll-4.1.22.Final-linux-x86_64.jar:4.1.22.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) ~[netty-common-4.1.22.Final.jar:4.1.22.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_171]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_171]
at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_171]
{noformat}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 1 month
[JBoss JIRA] (HRJS-50) Support working directly with JSON objects
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/HRJS-50?page=com.atlassian.jira.plugin.sy... ]
Galder Zamarreño reassigned HRJS-50:
------------------------------------
Assignee: Galder Zamarreño
> Support working directly with JSON objects
> ------------------------------------------
>
> Key: HRJS-50
> URL: https://issues.jboss.org/browse/HRJS-50
> Project: Infinispan Javascript client
> Issue Type: Enhancement
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
>
> The client should be able to store and retrieve JSON objects without the user having to transform data manually.
> From a storage perspective, the client should detect that JSON objects are passed in, and for the time being, convert those to a binary format of choice and sent those to the server. One quick option is to convert to String and that to UTF-8 (as the client currently does). More options will be available in the future.
> When reading, the user should be to instruct the client how to read the data, e.g. client.as(JSON) or client.as(String)... and let the client transform the data read and pass it back to the user.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 1 month
[JBoss JIRA] (HRJS-50) Support working directly with JSON objects
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/HRJS-50?page=com.atlassian.jira.plugin.sy... ]
Galder Zamarreño resolved HRJS-50.
----------------------------------
Resolution: Duplicate Issue
Duplicates HRJS-35.
> Support working directly with JSON objects
> ------------------------------------------
>
> Key: HRJS-50
> URL: https://issues.jboss.org/browse/HRJS-50
> Project: Infinispan Javascript client
> Issue Type: Enhancement
> Reporter: Galder Zamarreño
>
> The client should be able to store and retrieve JSON objects without the user having to transform data manually.
> From a storage perspective, the client should detect that JSON objects are passed in, and for the time being, convert those to a binary format of choice and sent those to the server. One quick option is to convert to String and that to UTF-8 (as the client currently does). More options will be available in the future.
> When reading, the user should be to instruct the client how to read the data, e.g. client.as(JSON) or client.as(String)... and let the client transform the data read and pass it back to the user.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 1 month