--
You received this message because you are subscribed to the Google Groups "Hazelcast" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hazelcast+unsubscribe@googlegroups.com.
To post to this group, send email to haze...@googlegroups.com.
Visit this group at https://groups.google.com/group/hazelcast.
To view this discussion on the web visit https://groups.google.com/d/msgid/hazelcast/d79ba5c1-35e3-422b-8b81-f742d51958e7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi,This is not going to be an in depth answer, but wanted to make sure that you have seen the following chapter in Hazelcast Deployment and Operations Guide:
On Sun, Jun 18, 2017 at 10:27 AM, <ramani...@gmail.com> wrote:
Folks,We are planning to use the open source HZ drop library (3.8) for IMDG. There are questions around how the HZ IMDG manages upgrades of application code. So you know, its not the HZ library version upgrade but the application code that is using HZ library upgrade process use case.To give you the background, the IMDG is spread across multiple nodes in the cluster (say 8 for instance). The application node uses distributed map & data is persisted / maintained eternally in the memory. Now during application software upgrade, each node is upgraded one at a time (the upgrade process by itself can take a while & can span across days, in other words, nodes in the HZ cluster will be using the same version of HZ drop library, however the application software will / can belong to two different versions & should co-exist). The application software upgrade, will start from one of the non-coordinating node. Each application software upgrade will introduce new distributed map / object. Post upgrade in that node, the node will request to get the handle to the NEW added distributed map (or object / entity), which the oldest node / coordinating HZ node (that continues to run the OLD application software) would not be aware of at that point in time. As the coordinating node will be the last node that will be updated ALWAYS.Questions
- Does HZ user code deployment allows (I see the feature is still in BETA in 3.8) to handle this use case?
- How does enabling the user code deployment (meaning remote class loader feature) impacts the usual / normal working of the HZ cluster?
- Is there a better way to handle application code upgrade, without downtime, assuming each upgrade introduces a new distributed object?
Thank you for your time & help.Ganesh
--
You received this message because you are subscribed to the Google Groups "Hazelcast" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hazelcast+...@googlegroups.com.
argument 'className' can't be null
at com.hazelcast.util.Preconditions.isNotNull(Preconditions.java:88)
at com.hazelcast.nio.ClassLoaderUtil$ClassLoaderWeakCache.get(ClassLoaderUtil.java:219)
at com.hazelcast.nio.ClassLoaderUtil.newInstance(ClassLoaderUtil.java:70)
at com.hazelcast.map.impl.mapstore.StoreConstructor.getStoreFromClassOrNull(StoreConstructor.java:82)
at com.hazelcast.map.impl.mapstore.StoreConstructor.createStore(StoreConstructor.java:46)
at com.hazelcast.map.impl.mapstore.BasicMapStoreContext.create(BasicMapStoreContext.java:124)
at com.hazelcast.map.impl.mapstore.MapStoreContextFactory.createMapStoreContext(MapStoreContextFactory.java:48)
at com.hazelcast.map.impl.MapContainer.<init>(MapContainer.java:111)
at com.hazelcast.map.impl.MapServiceContextImpl$1.createNew(MapServiceContextImpl.java:113)
at com.hazelcast.map.impl.MapServiceContextImpl$1.createNew(MapServiceContextImpl.java:109)
at com.hazelcast.util.ConcurrencyUtil.getOrPutSynchronized(ConcurrencyUtil.java:93)
at com.hazelcast.map.impl.MapServiceContextImpl.getMapContainer(MapServiceContextImpl.java:235)
at com.hazelcast.map.impl.PartitionContainer.createRecordStore(PartitionContainer.java:98)
at com.hazelcast.map.impl.PartitionContainer.access$000(PartitionContainer.java:39)
at com.hazelcast.map.impl.PartitionContainer$1.createNew(PartitionContainer.java:49)
at com.hazelcast.map.impl.PartitionContainer$1.createNew(PartitionContainer.java:45)
at com.hazelcast.util.ConcurrencyUtil.getOrPutSynchronized(ConcurrencyUtil.java:93)
at com.hazelcast.map.impl.PartitionContainer.getRecordStore(PartitionContainer.java:134)
at com.hazelcast.map.impl.operation.MapOperation.getRecordStoreOrNull(MapOperation.java:156)
at com.hazelcast.map.impl.operation.MapOperation.innerBeforeRun(MapOperation.java:76)
at com.hazelcast.map.impl.operation.MapOperation.beforeRun(MapOperation.java:72)
at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:180)
at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:401)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:117)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:102)
at ------ submitted from ------.(Unknown Source)
at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:114)
at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrowIfException(InvocationFuture.java:75)
at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:155)
at com.hazelcast.map.impl.proxy.MapProxySupport.waitUntilLoaded(MapProxySupport.java:575)
at com.hazelcast.map.impl.proxy.MapProxyImpl.waitUntilLoaded(MapProxyImpl.java:102)
at com.hazelcast.map.impl.proxy.MapProxySupport.initializeMapStoreLoad(MapProxySupport.java:220)
at com.hazelcast.map.impl.proxy.MapProxySupport.initialize(MapProxySupport.java:212)
at com.hazelcast.map.impl.proxy.MapProxyImpl.initialize(MapProxyImpl.java:102)
at com.hazelcast.spi.impl.proxyservice.impl.ProxyRegistry.doCreateProxy(ProxyRegistry.java:177)
at com.hazelcast.spi.impl.proxyservice.impl.ProxyRegistry.createProxy(ProxyRegistry.java:167)
at com.hazelcast.spi.impl.proxyservice.impl.ProxyRegistry.getOrCreateProxy(ProxyRegistry.java:136)
at com.hazelcast.spi.impl.proxyservice.impl.ProxyServiceImpl.getDistributedObject(ProxyServiceImpl.java:147)
at com.hazelcast.instance.HazelcastInstanceImpl.getDistributedObject(HazelcastInstanceImpl.java:380)
at com.hazelcast.instance.HazelcastInstanceImpl.getMap(HazelcastInstanceImpl.java:186)
at com.hazelcast.instance.HazelcastInstanceProxy.getMap(HazelcastInstanceProxy.java:96)
--
You received this message because you are subscribed to the Google Groups "Hazelcast" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hazelcast+...@googlegroups.com.
To post to this group, send email to haze...@googlegroups.com.
Visit this group at https://groups.google.com/group/hazelcast.
To view this discussion on the web visit https://groups.google.com/d/msgid/hazelcast/3fb632cf-e09d-42cb-8b06-a3b1e97ea33d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.