[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)
8 years, 1 month
[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:
------------------------------
Affects Version/s: 9.2.0.Final
> 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)
8 years, 1 month
[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:
------------------------------
Fix Version/s: 9.2.1.Final
> 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)
8 years, 1 month
[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:
------------------------------
Summary: SoftIndexFileStore does not fail gracefully if max node size exceeds 32767 (was: SoftIndexFileStore does not fail gracefully if max node size exceeds 32777)
> 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
> Reporter: Andreas Pabst
> Assignee: Radim Vansa
>
> 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)
8 years, 1 month
[JBoss JIRA] (ISPN-8893) Stack trace of a primary request of Infinispan is lost, damaging supportability severely
by Radim Vansa (JIRA)
[ https://issues.jboss.org/browse/ISPN-8893?page=com.atlassian.jira.plugin.... ]
Radim Vansa updated ISPN-8893:
------------------------------
Fix Version/s: 8.2.9.Final
9.2.1.Final
> Stack trace of a primary request of Infinispan is lost, damaging supportability severely
> ----------------------------------------------------------------------------------------
>
> Key: ISPN-8893
> URL: https://issues.jboss.org/browse/ISPN-8893
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Reporter: Yeray Borges
> Assignee: Yeray Borges
> Labels: top-50-list
> Fix For: 8.2.9.Final, 9.2.1.Final
>
>
> A request is handled by XNIO's "default task-NNN" thread. If the request executes a clustering cache operation, like session replication, it waits for the backup operation on another server. And if the other server failed on the backup operation, the primary server unwraps the exception to print only the remote exception. The original context of thread "default task-NNN" is lost and a user can't even identify what the primary operation was.
> This affects supportability too much. It seems only JDG 7.1 is free from this issue (it has {{AsyncInterceptorChain}}). All other releases like EAP 7.1, RHSSO which is based on EAP 7.0 has this issue.
> See the "Forum Reference" link of a mail thread for the detail.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month
[JBoss JIRA] (ISPN-8893) Stack trace of a primary request of Infinispan is lost, damaging supportability severely
by Radim Vansa (JIRA)
[ https://issues.jboss.org/browse/ISPN-8893?page=com.atlassian.jira.plugin.... ]
Radim Vansa resolved ISPN-8893.
-------------------------------
Resolution: Done
> Stack trace of a primary request of Infinispan is lost, damaging supportability severely
> ----------------------------------------------------------------------------------------
>
> Key: ISPN-8893
> URL: https://issues.jboss.org/browse/ISPN-8893
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Reporter: Yeray Borges
> Assignee: Yeray Borges
> Labels: top-50-list
>
> A request is handled by XNIO's "default task-NNN" thread. If the request executes a clustering cache operation, like session replication, it waits for the backup operation on another server. And if the other server failed on the backup operation, the primary server unwraps the exception to print only the remote exception. The original context of thread "default task-NNN" is lost and a user can't even identify what the primary operation was.
> This affects supportability too much. It seems only JDG 7.1 is free from this issue (it has {{AsyncInterceptorChain}}). All other releases like EAP 7.1, RHSSO which is based on EAP 7.0 has this issue.
> See the "Forum Reference" link of a mail thread for the detail.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month
[JBoss JIRA] (ISPN-8920) Indexing not working using REST with embedded cache manager
by Adrian Nistor (JIRA)
Adrian Nistor created ISPN-8920:
-----------------------------------
Summary: Indexing not working using REST with embedded cache manager
Key: ISPN-8920
URL: https://issues.jboss.org/browse/ISPN-8920
Project: Infinispan
Issue Type: Bug
Components: Indexing, Remote Querying, REST
Affects Versions: 9.2.0.Final
Environment: sample application attached
Reporter: Adam Melkus
Assignee: Gustavo Fernandes
Fix For: 9.2.1.Final
Attachments: ispn_broken.zip
JSON entities stored using REST with protobuf schema are not indexed and therefore querying using REST doesn't work.
Possible issue found is in class {{InternalCacheFactory}} on line 93 where {{DataConversion}} instance is created with {{ByteArrayWrapper}} wrapper. When the value type is {{application/x-protostream}} the wrapper should be {{ProtostreamWrapper}}.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month
[JBoss JIRA] (ISPN-8898) Indexing not working using REST with embedded cache manager
by Adrian Nistor (JIRA)
[ https://issues.jboss.org/browse/ISPN-8898?page=com.atlassian.jira.plugin.... ]
Adrian Nistor updated ISPN-8898:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
Integrated in master. Thanks @gustavonalle !
> Indexing not working using REST with embedded cache manager
> -----------------------------------------------------------
>
> Key: ISPN-8898
> URL: https://issues.jboss.org/browse/ISPN-8898
> Project: Infinispan
> Issue Type: Bug
> Components: Indexing, Remote Querying, REST
> Affects Versions: 9.2.0.Final
> Environment: sample application attached
> Reporter: Adam Melkus
> Assignee: Gustavo Fernandes
> Fix For: 9.2.1.Final
>
> Attachments: ispn_broken.zip
>
>
> JSON entities stored using REST with protobuf schema are not indexed and therefore querying using REST doesn't work.
> Possible issue found is in class {{InternalCacheFactory}} on line 93 where {{DataConversion}} instance is created with {{ByteArrayWrapper}} wrapper. When the value type is {{application/x-protostream}} the wrapper should be {{ProtostreamWrapper}}.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month
[JBoss JIRA] (ISPN-8919) Copy client configuration leads to incorrect values
by Galder Zamarreño (JIRA)
Galder Zamarreño created ISPN-8919:
--------------------------------------
Summary: Copy client configuration leads to incorrect values
Key: ISPN-8919
URL: https://issues.jboss.org/browse/ISPN-8919
Project: Infinispan
Issue Type: Bug
Components: Remote Protocols
Affects Versions: 9.2.0.Final
Reporter: Galder Zamarreño
{code}
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.clientIntelligence(ClientIntelligence.BASIC);
final Configuration cfg = builder.build();
System.out.println(cfg.clientIntelligence());
ConfigurationBuilder builderCopy = new ConfigurationBuilder().read(cfg);
final Configuration cfgCopy = builderCopy.build();
System.out.println(cfgCopy.clientIntelligence());
{code}
This kind of code is used by Spring remote's {{InfinispanRemoteAutoConfiguration}} class.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month
[JBoss JIRA] (ISPN-8919) Copy client configuration leads to incorrect values
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-8919?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-8919:
-----------------------------------
Description:
{code}
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.clientIntelligence(ClientIntelligence.BASIC);
final Configuration cfg = builder.build();
System.out.println(cfg.clientIntelligence());
ConfigurationBuilder builderCopy = new ConfigurationBuilder().read(cfg);
final Configuration cfgCopy = builderCopy.build();
System.out.println(cfgCopy.clientIntelligence());
{code}
Outputs:
{code}
BASIC
HASH_DISTRIBUTION_AWARE
{code}
This kind of code is used by Spring remote's {{InfinispanRemoteAutoConfiguration}} class.
was:
{code}
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.clientIntelligence(ClientIntelligence.BASIC);
final Configuration cfg = builder.build();
System.out.println(cfg.clientIntelligence());
ConfigurationBuilder builderCopy = new ConfigurationBuilder().read(cfg);
final Configuration cfgCopy = builderCopy.build();
System.out.println(cfgCopy.clientIntelligence());
{code}
This kind of code is used by Spring remote's {{InfinispanRemoteAutoConfiguration}} class.
> Copy client configuration leads to incorrect values
> ---------------------------------------------------
>
> Key: ISPN-8919
> URL: https://issues.jboss.org/browse/ISPN-8919
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Protocols
> Affects Versions: 9.2.0.Final
> Reporter: Galder Zamarreño
>
> {code}
> ConfigurationBuilder builder = new ConfigurationBuilder();
> builder.clientIntelligence(ClientIntelligence.BASIC);
> final Configuration cfg = builder.build();
> System.out.println(cfg.clientIntelligence());
> ConfigurationBuilder builderCopy = new ConfigurationBuilder().read(cfg);
> final Configuration cfgCopy = builderCopy.build();
> System.out.println(cfgCopy.clientIntelligence());
> {code}
> Outputs:
> {code}
> BASIC
> HASH_DISTRIBUTION_AWARE
> {code}
> This kind of code is used by Spring remote's {{InfinispanRemoteAutoConfiguration}} class.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month