[JBoss JIRA] Created: (ISPN-78) Large object support
by Manik Surtani (JIRA)
Large object support
--------------------
Key: ISPN-78
URL: https://jira.jboss.org/jira/browse/ISPN-78
Project: Infinispan
Issue Type: Feature Request
Components: Core API
Reporter: Manik Surtani
Assignee: Manik Surtani
Fix For: 5.0.0.GA
if each VM is allocated a 2GB heap and you have a 100 nodes in a grid with 1 redundant copy for each key, you have a theoretical addressable heap of 100GB. But you are limited by (half) the heap of a single VM per entry, since entries are stored whole.
E.g., cache.put(k, my2GBObject) will fail since you need at least 2GB for the object + another 2GB for its serialized form.
This gets worse when you try cache.put(k, my10GBObject). This *should* be possible if we have a theoretical 100GB heap.
Potential solutions here are to fragment large objects, and store each fragment under separate keys. Another approach would be to directly stream objects to disk. etc. Needs thought and design, possibly a separate API to prevent 'pollution" of the more simplistic API. (JumboCache?)
Re: fragmenting, issues to overcome:
How many chunks to fragment into? Max size of each key could be configured, but how do we determine the size of an Object? VM instrumentation? Or perhaps the JumboCache only stores byte[]'s?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 4 months
[JBoss JIRA] (ISPN-1865) Update indexes only when needed
by Mathieu Lachance (JIRA)
Mathieu Lachance created ISPN-1865:
--------------------------------------
Summary: Update indexes only when needed
Key: ISPN-1865
URL: https://issues.jboss.org/browse/ISPN-1865
Project: Infinispan
Issue Type: Enhancement
Components: Querying
Affects Versions: 5.1.1.FINAL
Reporter: Mathieu Lachance
Assignee: Sanne Grinovero
// put in cache a value with 2 field, one indexed and one not indexed.
Value value = new Value();
value.setNonIndexedFieldValue(123);
value.setIndexedFieldValue(456);
cache.put("key", value);
// later...
// get back value from cache and update the not indexed field
Value value = cache.get("key");
value.setNonIndexedFieldValue(789);
cache.put("key", value);
The second put operation will trigger index to update even tough it hasn't changed.
Sanne suggested :
" Thinking about it, there might be some situations in which we can detect it, for example if the put is going to carry a valid return value then we could compare values in string form.. nice, please open an improvement request on JIRA!"
See https://community.jboss.org/thread/195303 for complete reference
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 4 months
[JBoss JIRA] (ISPN-2022) Make MarshalledValues immutable
by Manik Surtani (JIRA)
Manik Surtani created ISPN-2022:
-----------------------------------
Summary: Make MarshalledValues immutable
Key: ISPN-2022
URL: https://issues.jboss.org/browse/ISPN-2022
Project: Infinispan
Issue Type: Feature Request
Components: Marshalling
Affects Versions: 5.1.4.FINAL
Reporter: Manik Surtani
Assignee: Galder Zamarreño
Fix For: 5.1.x, 5.2.0.ALPHA1, 5.2.0.FINAL
MarshalledValues are not currently reused, so the containers could be made immutable. Different subtypes would be needed as well, i.e., {{InstanceBaisedMarshalledValue}}, where {{instance}} is {{final}} and {{raw}} then need not be volatile. {{RawBiasedMarshalledValue}}, where {{raw}} is {{final}} and {{instance}} then need not be volatile. {{serialisedSize}} and {{equalityPreferenceForInstance}} would be unnecessary.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 4 months
[JBoss JIRA] (ISPN-2178) JGroups configuration error during application deployment
by Dmitry Chuiko (JIRA)
Dmitry Chuiko created ISPN-2178:
-----------------------------------
Summary: JGroups configuration error during application deployment
Key: ISPN-2178
URL: https://issues.jboss.org/browse/ISPN-2178
Project: Infinispan
Issue Type: Bug
Components: Configuration
Affects Versions: 5.1.4.FINAL
Environment: Ubuntu 12.04, Jboss AS 7.1.2, Jgroups 3.0.9, Hibernate 4.1.2, Infinispan 5.1.4 Final
Reporter: Dmitry Chuiko
Assignee: Manik Surtani
This issue occurs using Infinispan as 2LC Hibernate cache provider is clustered environment using JGroups as a transport. So persistence.xml contains this line:
{code:xml}<property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.infinispan.InfinispanRegionFactory"/>{code}
During application deployment the following error occurs:
{noformat}
11:28:45,529 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-11) MSC00001: Failed to start service jboss.persistenceunit."BatchProcessing.ear/sklad-base.jar#MOYsklad": org.jboss.msc.service.StartException in service jboss.persistenceunit."BatchProcessing.ear/sklad-base.jar#MOYsklad": Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_05]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_05]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_05]
Caused by: org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.CacheException: Unable to invoke method public void org.infinispan.remoting.transport.jgroups.JGroupsTransport.start() on object of type JGroupsTransport
at org.infinispan.factories.GlobalComponentRegistry.start(GlobalComponentRegistry.java:223)
at org.infinispan.manager.DefaultCacheManager.wireCache(DefaultCacheManager.java:684)
at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:649)
at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:549)
at org.hibernate.cache.infinispan.InfinispanRegionFactory.getCache(InfinispanRegionFactory.java:483)
at org.hibernate.cache.infinispan.InfinispanRegionFactory.buildEntityRegion(InfinispanRegionFactory.java:209)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:347)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1741)
at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:93)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:74)
at org.hibernate.ejb.HibernatePersistenceLognex.createContainerEntityManagerFactory(HibernatePersistenceLognex.java:16)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:162)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.start(PersistenceUnitServiceImpl.java:85)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
... 3 more
Caused by: org.infinispan.CacheException: Unable to invoke method public void org.infinispan.remoting.transport.jgroups.JGroupsTransport.start() on object of type JGroupsTransport
at org.infinispan.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:238)
at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:885)
at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:639)
at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:628)
at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:531)
at org.infinispan.factories.GlobalComponentRegistry.start(GlobalComponentRegistry.java:201)
... 19 more
Caused by: org.infinispan.CacheConfigurationException: configurationFile property specifies value null that could not be read!
at org.infinispan.remoting.transport.jgroups.JGroupsTransport.buildChannel(JGroupsTransport.java:335)
at org.infinispan.remoting.transport.jgroups.JGroupsTransport.initChannel(JGroupsTransport.java:256)
at org.infinispan.remoting.transport.jgroups.JGroupsTransport.initChannelAndRPCDispatcher(JGroupsTransport.java:296)
at org.infinispan.remoting.transport.jgroups.JGroupsTransport.start(JGroupsTransport.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_05]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_05]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_05]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_05]
at org.infinispan.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:236)
... 24 more
Caused by: java.io.FileNotFoundException: tcp.xml
... 33 more
{noformat}
This error occurs because {{org.infinispan.util.FileLookupFactory.DefaultFileLookup#getAsInputStreamFromClassLoader}} method doesn't check result for {{null}} - it is only checking for {{RuntimeException}}. The first {{ClassLoader}} belongs to the application so it could not find the desired resource from {{jgroups}} module. The resource would be found with the second {{Module}} {{ClassLoader}} but method returns {{null}} after the first try.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 4 months