[JBoss JIRA] (ISPN-8896) HTTP/2 support is broken
by Sebastian Łaskawiec (JIRA)
[ https://issues.jboss.org/browse/ISPN-8896?page=com.atlassian.jira.plugin.... ]
Sebastian Łaskawiec updated ISPN-8896:
--------------------------------------
Status: Open (was: New)
> HTTP/2 support is broken
> ------------------------
>
> Key: ISPN-8896
> URL: https://issues.jboss.org/browse/ISPN-8896
> Project: Infinispan
> Issue Type: Bug
> Components: REST
> Affects Versions: 9.2.0.Final
> Reporter: Sebastian Łaskawiec
> Assignee: Sebastian Łaskawiec
>
> CURL reports that HTTP Settings frame is broken:
> On Terminal 1:
> {code}
> docker run -e "APP_USER=test" -e "APP_PASS=test" jboss/infinispan-server:9.2.0.Final ../../docs/examples/configs/standalone-rest-ssl.xml
> {code}
> On Terminal 2:
> {code}
> curl "Accept: text/plain" -k -v --http2 -u test:test https://172.17.0.2:8443/rest/default/test
> * Illegal port number
> * Closing connection -1
> curl: (3) Illegal port number
> * Trying 172.17.0.2...
> * TCP_NODELAY set
> * Connected to 172.17.0.2 (172.17.0.2) port 8443 (#0)
> * Initializing NSS with certpath: sql:/etc/pki/nssdb
> * skipping SSL peer certificate verification
> * ALPN, server accepted to use h2
> * SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
> * Server certificate:
> * subject: CN=localhost
> * start date: Mar 01 12:02:32 2018 GMT
> * expire date: Feb 27 12:02:32 2028 GMT
> * common name: localhost
> * issuer: CN=localhost
> * Using HTTP2, server supports multi-use
> * Connection state changed (HTTP/2 confirmed)
> * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
> * Server auth using Basic with user 'test'
> * Using Stream ID: 1 (easy handle 0x55972b0700d0)
> > GET /rest/default/test HTTP/2
> > Host: 172.17.0.2:8443
> > Authorization: Basic dGVzdDp0ZXN0
> > User-Agent: curl/7.53.1
> > Accept: */*
> >
> * http2 error: Remote peer returned unexpected data while we expected SETTINGS frame. Perhaps, peer does not support HTTP/2 properly.
> * Closing connection 0
> curl: (16) Illegal port number
> {code}
> The same with 9.1.5.Final:
> {code}
> curl -d test -H "Accept: text/plain" -k -v --http2 -u test:test https://172.17.0.2:8443/rest/default/test
> * Trying 172.17.0.2...
> * TCP_NODELAY set
> * Connected to 172.17.0.2 (172.17.0.2) port 8443 (#0)
> * Initializing NSS with certpath: sql:/etc/pki/nssdb
> * skipping SSL peer certificate verification
> * ALPN, server accepted to use h2
> * SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
> * Server certificate:
> * subject: CN=localhost
> * start date: Mar 01 12:04:47 2018 GMT
> * expire date: Feb 27 12:04:47 2028 GMT
> * common name: localhost
> * issuer: CN=localhost
> * Using HTTP2, server supports multi-use
> * Connection state changed (HTTP/2 confirmed)
> * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
> * Server auth using Basic with user 'test'
> * Using Stream ID: 1 (easy handle 0x555cd62630d0)
> > POST /rest/default/test HTTP/2
> > Host: 172.17.0.2:8443
> > Authorization: Basic dGVzdDp0ZXN0
> > User-Agent: curl/7.53.1
> > Accept: text/plain
> > Content-Length: 4
> > Content-Type: application/x-www-form-urlencoded
> >
> * We are completely uploaded and fine
> * Connection state changed (MAX_CONCURRENT_STREAMS updated)!
> < HTTP/2 200
> < etag: application/x-www-form-urlencoded-235262424
> < content-type: text/plain
> < content-length: 0
> <
> * Connection #0 to host 172.17.0.2 left intact
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months
[JBoss JIRA] (ISPN-8896) HTTP/2 support is broken
by Sebastian Łaskawiec (JIRA)
[ https://issues.jboss.org/browse/ISPN-8896?page=com.atlassian.jira.plugin.... ]
Sebastian Łaskawiec updated ISPN-8896:
--------------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/5821
> HTTP/2 support is broken
> ------------------------
>
> Key: ISPN-8896
> URL: https://issues.jboss.org/browse/ISPN-8896
> Project: Infinispan
> Issue Type: Bug
> Components: REST
> Affects Versions: 9.2.0.Final
> Reporter: Sebastian Łaskawiec
> Assignee: Sebastian Łaskawiec
>
> CURL reports that HTTP Settings frame is broken:
> On Terminal 1:
> {code}
> docker run -e "APP_USER=test" -e "APP_PASS=test" jboss/infinispan-server:9.2.0.Final ../../docs/examples/configs/standalone-rest-ssl.xml
> {code}
> On Terminal 2:
> {code}
> curl "Accept: text/plain" -k -v --http2 -u test:test https://172.17.0.2:8443/rest/default/test
> * Illegal port number
> * Closing connection -1
> curl: (3) Illegal port number
> * Trying 172.17.0.2...
> * TCP_NODELAY set
> * Connected to 172.17.0.2 (172.17.0.2) port 8443 (#0)
> * Initializing NSS with certpath: sql:/etc/pki/nssdb
> * skipping SSL peer certificate verification
> * ALPN, server accepted to use h2
> * SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
> * Server certificate:
> * subject: CN=localhost
> * start date: Mar 01 12:02:32 2018 GMT
> * expire date: Feb 27 12:02:32 2028 GMT
> * common name: localhost
> * issuer: CN=localhost
> * Using HTTP2, server supports multi-use
> * Connection state changed (HTTP/2 confirmed)
> * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
> * Server auth using Basic with user 'test'
> * Using Stream ID: 1 (easy handle 0x55972b0700d0)
> > GET /rest/default/test HTTP/2
> > Host: 172.17.0.2:8443
> > Authorization: Basic dGVzdDp0ZXN0
> > User-Agent: curl/7.53.1
> > Accept: */*
> >
> * http2 error: Remote peer returned unexpected data while we expected SETTINGS frame. Perhaps, peer does not support HTTP/2 properly.
> * Closing connection 0
> curl: (16) Illegal port number
> {code}
> The same with 9.1.5.Final:
> {code}
> curl -d test -H "Accept: text/plain" -k -v --http2 -u test:test https://172.17.0.2:8443/rest/default/test
> * Trying 172.17.0.2...
> * TCP_NODELAY set
> * Connected to 172.17.0.2 (172.17.0.2) port 8443 (#0)
> * Initializing NSS with certpath: sql:/etc/pki/nssdb
> * skipping SSL peer certificate verification
> * ALPN, server accepted to use h2
> * SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
> * Server certificate:
> * subject: CN=localhost
> * start date: Mar 01 12:04:47 2018 GMT
> * expire date: Feb 27 12:04:47 2028 GMT
> * common name: localhost
> * issuer: CN=localhost
> * Using HTTP2, server supports multi-use
> * Connection state changed (HTTP/2 confirmed)
> * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
> * Server auth using Basic with user 'test'
> * Using Stream ID: 1 (easy handle 0x555cd62630d0)
> > POST /rest/default/test HTTP/2
> > Host: 172.17.0.2:8443
> > Authorization: Basic dGVzdDp0ZXN0
> > User-Agent: curl/7.53.1
> > Accept: text/plain
> > Content-Length: 4
> > Content-Type: application/x-www-form-urlencoded
> >
> * We are completely uploaded and fine
> * Connection state changed (MAX_CONCURRENT_STREAMS updated)!
> < HTTP/2 200
> < etag: application/x-www-form-urlencoded-235262424
> < content-type: text/plain
> < content-length: 0
> <
> * Connection #0 to host 172.17.0.2 left intact
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months
[JBoss JIRA] (ISPN-8910) CompatModeClusteredCacheTest.testMerge test failure
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-8910?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-8910:
------------------------------------
Status: Pull Request Sent (was: Coding In Progress)
Git Pull Request: https://github.com/infinispan/infinispan/pull/5820
> CompatModeClusteredCacheTest.testMerge test failure
> ---------------------------------------------------
>
> Key: ISPN-8910
> URL: https://issues.jboss.org/browse/ISPN-8910
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Query
> Affects Versions: 9.2.0.Final
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
>
> {noformat}
> Caused by: org.infinispan.util.UserRaisedFunctionalException: java.lang.ClassCastException: [B cannot be cast to org.infinispan.query.test.Person
> at org.infinispan.commands.functional.functions.MergeFunction.apply(MergeFunction.java:44)
> at org.infinispan.commands.functional.functions.MergeFunction.apply(MergeFunction.java:19)
> at org.infinispan.commands.functional.ReadWriteKeyCommand.perform(ReadWriteKeyCommand.java:100)
> at org.infinispan.interceptors.impl.CallInterceptor.visitCommand(CallInterceptor.java:29)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:56)
> at org.infinispan.interceptors.distribution.BaseDistributionInterceptor.handleNonTxWriteCommand(BaseDistributionInterceptor.java:260)
> at org.infinispan.interceptors.distribution.NonTxDistributionInterceptor.visitReadWriteKeyCommand(NonTxDistributionInterceptor.java:137)
> at org.infinispan.commands.functional.ReadWriteKeyCommand.acceptVisitor(ReadWriteKeyCommand.java:110)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:98)
> at org.infinispan.query.backend.QueryInterceptor.handleDataWriteCommand(QueryInterceptor.java:177)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months
[JBoss JIRA] (ISPN-8620) Execute operations concurrently over the same connection
by Radim Vansa (JIRA)
[ https://issues.jboss.org/browse/ISPN-8620?page=com.atlassian.jira.plugin.... ]
Radim Vansa updated ISPN-8620:
------------------------------
Status: Open (was: New)
> Execute operations concurrently over the same connection
> --------------------------------------------------------
>
> Key: ISPN-8620
> URL: https://issues.jboss.org/browse/ISPN-8620
> Project: Infinispan
> Issue Type: Sub-task
> Components: Remote Protocols
> Reporter: Radim Vansa
> Assignee: Radim Vansa
>
> Since the early days Hot Rod protocol adds {{messageId}} to the protocol for pairing RPCs, but currently the connection is occupied when waiting for response. The goal of this is to reduce connection count and send the messages over shared connection. It requires some changes on server since it must continue reading the connection before the response is ready; the request needs to be processed asynchronously, too.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months
[JBoss JIRA] (ISPN-8912) SoftIndexFileStore does not fail gracefully if max node size exceeds 32767
by Radim Vansa (JIRA)
[ https://issues.jboss.org/browse/ISPN-8912?page=com.atlassian.jira.plugin.... ]
Radim Vansa updated ISPN-8912:
------------------------------
Status: Open (was: New)
> SoftIndexFileStore does not fail gracefully if max node size exceeds 32767
> --------------------------------------------------------------------------
>
> Key: ISPN-8912
> URL: https://issues.jboss.org/browse/ISPN-8912
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores
> Affects Versions: 9.1.6.Final, 9.2.0.Final
> Reporter: Andreas Pabst
> Assignee: Radim Vansa
> Fix For: 9.2.1.Final
>
>
> The following unit test just puts lots of entries into the cache and restarts the cache repeatedly.
> It succeeds if maxNodeSize is set to anything up to 32777, but runs into a deadlock from 32778 upwards. If going even higher it doesn't run into a deadlock anymore, but throws an IllegalArgumentException instead.
> As a workaround one can delete the index. But the problem resurfaces after the next restart.
> {code:java}
> import java.util.concurrent.TimeUnit;
> import java.util.stream.IntStream;
> import org.infinispan.Cache;
> import org.infinispan.configuration.cache.Configuration;
> import org.infinispan.configuration.cache.ConfigurationBuilder;
> import org.infinispan.manager.DefaultCacheManager;
> import org.infinispan.manager.EmbeddedCacheManager;
> import org.infinispan.persistence.sifs.configuration.SoftIndexFileStoreConfigurationBuilder;
> import org.junit.After;
> import org.junit.Before;
> import org.junit.Rule;
> import org.junit.Test;
> import org.junit.rules.Timeout;
> public class SifsLargeNodeTest {
> private EmbeddedCacheManager cacheManager;
> @Rule
> public Timeout timeout = new Timeout(15, TimeUnit.SECONDS);
> private static Configuration createConfig(String location, int maxNodeSizeInBytes) {
> return new ConfigurationBuilder()
> .persistence().addStore(SoftIndexFileStoreConfigurationBuilder.class)
> .dataLocation(location + "/data").indexLocation(location + "/index")
> .maxNodeSize(maxNodeSizeInBytes)
> .preload(false).purgeOnStartup(false)
> .build();
> }
> @Before
> public void setUp() {
> cacheManager = new DefaultCacheManager();
> }
> @After
> public void tearDown() {
> cacheManager.stop();
> }
> @Test
> public void testLoad() {
> int maxNodeSizeInBytes = 32780; // Note: Anything up to 32777 works fine
> String cacheName = "sifslargenodetestcache";
> Configuration cfg = createConfig(cacheName, maxNodeSizeInBytes);
> int numberOfRuns = 10;
> int valuesToPutPerRun = 10000;
> for (int run = 0; run < numberOfRuns; run++) {
> System.out.println("RUN " + run);
> cacheManager.defineConfiguration(cacheName, cfg);
> Cache<Integer, String> testCacheBeforeReduction = cacheManager.getCache(cacheName);
> IntStream.range(run * valuesToPutPerRun, (run + 1) * valuesToPutPerRun)
> .forEach(i -> testCacheBeforeReduction.put(i, Integer.toString(i)));
> cacheManager.stop();
> cacheManager = new DefaultCacheManager();
> }
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months
[JBoss JIRA] (ISPN-8912) SoftIndexFileStore does not fail gracefully if max node size exceeds 32767
by Radim Vansa (JIRA)
[ https://issues.jboss.org/browse/ISPN-8912?page=com.atlassian.jira.plugin.... ]
Radim Vansa updated ISPN-8912:
------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/5819
> SoftIndexFileStore does not fail gracefully if max node size exceeds 32767
> --------------------------------------------------------------------------
>
> Key: ISPN-8912
> URL: https://issues.jboss.org/browse/ISPN-8912
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores
> Affects Versions: 9.1.6.Final, 9.2.0.Final
> Reporter: Andreas Pabst
> Assignee: Radim Vansa
> Fix For: 9.2.1.Final
>
>
> The following unit test just puts lots of entries into the cache and restarts the cache repeatedly.
> It succeeds if maxNodeSize is set to anything up to 32777, but runs into a deadlock from 32778 upwards. If going even higher it doesn't run into a deadlock anymore, but throws an IllegalArgumentException instead.
> As a workaround one can delete the index. But the problem resurfaces after the next restart.
> {code:java}
> import java.util.concurrent.TimeUnit;
> import java.util.stream.IntStream;
> import org.infinispan.Cache;
> import org.infinispan.configuration.cache.Configuration;
> import org.infinispan.configuration.cache.ConfigurationBuilder;
> import org.infinispan.manager.DefaultCacheManager;
> import org.infinispan.manager.EmbeddedCacheManager;
> import org.infinispan.persistence.sifs.configuration.SoftIndexFileStoreConfigurationBuilder;
> import org.junit.After;
> import org.junit.Before;
> import org.junit.Rule;
> import org.junit.Test;
> import org.junit.rules.Timeout;
> public class SifsLargeNodeTest {
> private EmbeddedCacheManager cacheManager;
> @Rule
> public Timeout timeout = new Timeout(15, TimeUnit.SECONDS);
> private static Configuration createConfig(String location, int maxNodeSizeInBytes) {
> return new ConfigurationBuilder()
> .persistence().addStore(SoftIndexFileStoreConfigurationBuilder.class)
> .dataLocation(location + "/data").indexLocation(location + "/index")
> .maxNodeSize(maxNodeSizeInBytes)
> .preload(false).purgeOnStartup(false)
> .build();
> }
> @Before
> public void setUp() {
> cacheManager = new DefaultCacheManager();
> }
> @After
> public void tearDown() {
> cacheManager.stop();
> }
> @Test
> public void testLoad() {
> int maxNodeSizeInBytes = 32780; // Note: Anything up to 32777 works fine
> String cacheName = "sifslargenodetestcache";
> Configuration cfg = createConfig(cacheName, maxNodeSizeInBytes);
> int numberOfRuns = 10;
> int valuesToPutPerRun = 10000;
> for (int run = 0; run < numberOfRuns; run++) {
> System.out.println("RUN " + run);
> cacheManager.defineConfiguration(cacheName, cfg);
> Cache<Integer, String> testCacheBeforeReduction = cacheManager.getCache(cacheName);
> IntStream.range(run * valuesToPutPerRun, (run + 1) * valuesToPutPerRun)
> .forEach(i -> testCacheBeforeReduction.put(i, Integer.toString(i)));
> cacheManager.stop();
> cacheManager = new DefaultCacheManager();
> }
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months