Bugs Fixed in vFabric GemFire 7.0.1

Last updated: 03/07/2013

Id Created Title Description Workaround for earlier gemfire versions
#37509 08/24/07 Gateway overflow to disk Starting in GemFire 7.0, GatewaySender overflow to disk is configurable. GatewaySenderFactory has setDiskSynchronous(boolean isSynchronous) API which can be used to configure synchronous/asynchronous writes to disk. The size of queue opLogFile can be configured by using the system property 'gemfire.cache.gatewaySender.queueOpLogSize'.
#40669 05/05/09 CQ quickstart example has bad output The quickstart example for continuous querying used a SimpleCqListener.java that did not print to screen. This has been fixed in 7.0.1.
#42339 09/16/10 maxBucketCount in PartitionedRegionStats maxBucketCount stat in PartitionedRegionStats is renamed to totalNumBuckets.
#42342 09/17/10 minBucketSize in PartitionRegionStats minBucketSize stat has been removed from PartitionRegionStats.
#43208 04/22/11 Ability to flush a WAN GatewaySender queue In WAN 7.0, stop() method on GatewaySender provides the ability to in turn flush the GatewaySender queue. The flushing happens when a stopped GatewaySender is started again. Apart from this, the support for GatewayEventFilter is provided. Users can implement the GatewayEventFilter.beforeTransmit() method according their requirement. If beforeTransmit() returns true the event will be delivered to remote site else it won't get dispatched and will get removed from the queue.
#44960 04/23/12 cq Query with = operator does not execute correctly when matching against region entries A cq with a = in the query to match region entries, does not execute the same as a query with a =. An example of such a query would be: select * from /strings s where s='someValue' Instead use the following for the cq: "select * from /strings s where s.equals('someValue') Instead of using a = query for a cq, use the .equals method intead. For example: "select * from /strings s where s.equals('someValue') instead of "select * from /strings s where s='someValue'"
#45104 06/01/12 shutdownAll hangs with mix of 662 and 663 members In 6.6.3 and after, we fixed a bug to re-order the partition regions to close. So the order of closing PR in 6.6.3+ will be different with 6.6.2. This will end up with ShutdownAll operation hanging in mixed cluster of 6.6.2 and 6.6.3.
#45734 08/13/12 ShutdownAll will leave distributed system in closing for a few more seconds If you restart a cache immediately after a shutdownall request completes, the cache might fail to start or hang.
#45884 08/21/12 Incorrect javadoc for Index maintenance mode The Java API doc incorrectly defined the the default mode of RegionAttributes.getIndexMaintenanceSynchronous() as false, which indicated that it was asynchronous. The default for index maintenance mode is synchronous. This API documentation error has been fixed in 7.0.1.
#46265 09/19/12 In gfsh, using auto-complete to enter values for multi-valued and multi-named parameter did not work as expected This issue has been fixed in gfsh. Multiple values can now be specified by separating them with a comma. A value should immediately follow another value after a comma and without a space.
#46280 09/19/12 Parallel gateway sender with persistent user region or persistent parallel queue can hang during HA scenarios Parallel gateway senders with persistent user region or persistent parallel queue can hang during a HA scenarios because of cache operations are blocked when enqueuing events in the parallel sender's queue.
#46397 09/27/12 Certain mbean attributes on a member mbean are incorrect The mbean attributes TotalDiskUsage, TotalDiskTasksWaiting have values that was incorrect on the member MBean in 7.0. This is fixed in 7.0.1 No workaround.
#46485 10/04/12 Executing numerous queries after a low memory event may still cause out of memory exception When a low-memory event occurs, query execution is canceled and all queries are rejected from executing. However, incoming queries still create query objects before being rejected. This can cause an out-of-memory exception. Try tuning the critical heap percentage and/or throttle the number of queries, especially after a query has been canceled due to a low memory condition.
#46529 10/08/12 ClassCastException while deserializing TXCommitMessage When a client with version older than 7.0 fails over to a new server, a ClassCastException may be thrown sometimes.
#46537 10/08/12 When user specifies non-existing gemfire.properties file to be used when starting a Loator/Server using the --properties-file command-line option, no warning is printed. Now, when the user specifies a pathname to a non-existing gemfire.properties file when starting a Locator or Server from Gfsh, the following warning will be displayed... Warning: The GemFire properties file /path/to/non_existing/gemfire.properties could not be found.
#46551 10/09/12 CacheFactory create may throw a ManagementException If an error occurs during cache creation when initializing the jmx-manager (because jmx-manager-start is true), then you will see a ManagementException thrown from CacheFactory.create. JavaDocs have been updated to include this exception.
#46581 10/12/12 InternalGemFireError: unexpected ForceReattemptException while shutting down If a peer cache is shutting down during a distributed garbage collection operation it is possible you will see the following alert: {{{ Task failed with exception com.gemstone.gemfire.InternalGemFireError: unexpected ForceReattemptException at com.gemstone.gemfire.internal.cache.partitioned.PRTombstoneMessage.send(PRTombstoneMessage.java:67) at com.gemstone.gemfire.internal.cache.BucketRegion.distributeTombstoneGC(BucketRegion.java:327) at com.gemstone.gemfire.internal.cache.TombstoneService$TombstoneSweeper$1.run(TombstoneService.java:676) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at com.gemstone.gemfire.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:687) at com.gemstone.gemfire.distributed.internal.DistributionManager$6$1.run(DistributionManager.java:1024) at java.lang.Thread.run(Thread.java:662) Caused by: com.gemstone.gemfire.internal.cache.ForceReattemptException: PartitionResponse got remote CacheClosedException at com.gemstone.gemfire.internal.cache.partitioned.PartitionMessage$PartitionResponse.waitForCacheException(PartitionMessage.java:784) at com.gemstone.gemfire.internal.cache.partitioned.PRTombstoneMessage.send(PRTombstoneMessage.java:65) ... 7 more }}} This alert can be ignored. It does not affect the completion of the distributed garbage collection operation.
#46597 10/15/12 gfsh did not start when the file path for GemFire product directory contained non-English characters. gfsh did not start when the file path for GemFire product directory contained non-English characters. This issue is fixed now.
#46602 10/16/12 StatMonitorNotifier Thread may log NullPointerException warning during Cache closure The StatMonitorNotifier Thread may log a NullPointerException warning originating from com.gemstone.gemfire.management.internal.beans.stats.MBeanStatsMonitor$MBeanLevelStatisticsListener.handleNotification(MBeanStatsMonitor.java:86). This is an unexpected but harmless log message which may occur during Cache closure. It should be ignored and will not adversely affect GemFire, its Management service, or the application. Ignore this warning.
#46603 10/16/12 jmxmbean attributes GarbageCollectionCount and GarbageCollectionTime and operation showJVMMetrics have values that are wrong The mbean attributes GarbageCollectionCount and GarbageCollectionTime will have wrong values once a jvm has done more than one gc. The same is true for the mbean operation "showJVMMetrics" which has a result object whose "gcCount" and "gcTimeMillis" will be wrong after more than one gc. Use the java.lang GarbageCollection mbeans instead. Their "CollectionCount" and "CollectionTime" are correct.
#46604 10/16/12 mbean attributes TotalBucketCount, TotalPrimaryBucketCount, TotalDiskUsage, LruEvictionRate, and LruDestroyRate have values that are incorrect on the member mbean The mbean attributes TotalBucketCount, TotalPrimaryBucketCount, TotalDiskUsage, LruEvictionRate, and LruDestroyRate have values that are incorrect on the member mbean. Note that these same attributes on the member region mbean are correct. Use the per region member mbeans for these attributes.
#46606 10/16/12 gfsh show metrics --member shows wrong values for totalBucketCount, totalPrimaryBucketCount, lruEvictionRate, and lruDestroyRate gfsh 'show metrics --member' shows wrong values for totalBucketCount, totalPrimaryBucketCount, lruEvictionRate, and lruDestroyRate. If the values are 0 they can be trusted; but non-zero value may be too large. Correct values will be shown by 'show metrics --member --region' and 'show metrics --region'.
#46612 10/16/12 Cache creation will hang indefinitely if the directory to which JAR files are deployed is not writable. During Cache creation the directory to which JAR files will be deployed is checked to verify that it is writable. This directory is typically the one in which the member is started. If the directory is not writable, it will be rechecked several times to handle certain network issues and then the process should give up and continue with Cache creation. However, instead of giving up after several tries, the process remains in an infinite loop waiting for the directory to become writable. Ensure that the directory to which JAR files will be deployed is writable. The JAR deployment directory is typically the current working directory at the time the member was started. However, the "deploy-working-dir" GemFire property may be used to specify a different directory for the deployed JAR files. If the current working directory cannot be made writable, it is possible to specify a different directory using this property, but the member must be restarted to accept the new location.
#46614 10/16/12 651 Client's putIfAbsent fails with IOException: Unknown DataSerializableFixedID: 141 If 651 client is connected to a newer server, and does putIfAbsent operation, it may fail with "java.io.IOException: Unknown DataSerializableFixedID: 141". This is likely to happen if the concerned key's entry is in invalidated state at the server just prior to the putIfAbsent operation.
#46623 10/17/12 SSL options for gfsh's command can now be specified to connect to a locator as well as a manager. The gfsh connect command has the following options: {{{ --key-store --key-store-password --trust-store --trust-store-password }}} If these options are specified, then locator & jmx-manager connections will both "now" use SSL. In addition to this, the ssl properties can be specified in a file named "gfsecurity.properties" in gfsh's working directory. gfsh will read the properties from this file is "--use-ssl" option of connect is set to true. "gfsecurity.properties" can be secured with file permission so that only intended users can use the configuration in it.
#46624 10/17/12 InternalGemFireError - "store has been closed for sync mode..." in system log during shutdown If a persistent member is closed using Cache.close or shutdown all, it is possible a message similar to this will be reported to the logs in rare cases: [severe 2012/10/18 11:22:07.073 PDT gemfire1_bagel_20682 <OplogCompactor diskStore1 for oplog oplog#OV2> tid=0x62] Uncaught exception in thread Thread[OplogCompactor diskStore1 for oplog oplog#OV2,5,Oplog Compactor Thread Group] com.gemstone.gemfire.InternalGemFireError: oplog#OV4 for store diskStore1 has been closed for synch mode while writing is going on. This should not happen This message can safely be ignored.
#46625 10/18/12 Not equals queries for HashIndex will no longer work when an object is removed from the Index An error will be thrown when a not equals query is executed after having an object removed from the index. None
#46629 10/18/12 Properties file name has to be named with ASCII characters GemFire's properties file name should contain only ASCII characters for any locales. Non-ASCII characters are not supported to be used configuration file names.
#46630 10/18/12 Non-ASCII user names can't be used with JMX Agent's HttpAdaptor. Non-ASCII user names can't be configured for HttpAdaptor of GemFire's JMX Agent. Only ASCII user names are supported. Note: GemFire's JMX Agent is now deprecated in GemFire 7.0 & it's recommended to use the new Management APIs.
#46631 10/18/12 CachePerfStats entry count can be incorrect For a replicated region it is possible for the statistic CachePerfStats.entries to be lower than it should be. It may even go negative. In a replicated region when there are concurrent create/destroy operations the operations may be received by a peer out of order. If the destroy() is received before the create() a tombstone entry is created to record the operation. When this happens the cache is incorrectly decrementing the CachePerfStats.entries statistic.
#46647 10/19/12 StructType comparison in query result Gemfire returns Struct (com.gemstone.gemfire.cache.query.Struct) type objects in query SelectResults. Structs are defined using com.gemstone.gemfire.cache.query.types.StructType. Currently implementation of StructType interface can not be used reliably for comparison with other StructTypes as StructType hashcode is implemented incorrectly. This has been fixed in 7.0.1. Implement custom StructType class to hold StructType fieldNames (StructType.getFieldNames()) and fieldTypes (StructType.getFiledTypes()) and implement hashcode and equal using those two arrays.
#46650 10/22/12 maximum-time-between-pings is ignored in clients and gateways for versions below 6.6.3 maximum-time-between-pings is ignored in clients and gateways for versions below 6.6.3
#46651 10/22/12 On some platforms backspace key doesn't work in gfsh. On some platforms like Windows 2008 R2, the backspace key doesn't work in gfsh. Use back arrow & delete key instead of backspace key.
#46653 10/22/12 When gfsh automatically sets the locators property when starting a server you may have some problems When gfsh starts a server it will automatically set the locators gemfire property if gfsh is connected and if the server's configuration does not have "locators" explicitly set. But if you look in the server's log file then it will not say that the locators property is set. And if you do an export config then that server's exported property file will not have locators set in it. Set the locators property explicitly for the server by either putting it in its gemfire.properties file or by adding --locators on the command line.
#46658 10/23/12 A possible ArrayIndexOutOfBoundsException could occur during index update with multiple threads When multiple threads are updating an index and there are multiple entries(more than 100) that are being added to the index with the same value for the field on which index is created, there is a possibility of an ArrayIndexOutOfBoundsException. This has been fixed in 7.0.1. No Workaround for now
#46659 10/23/12 under pull-the-plug testing GemFire may hang for several minutes trying to close tcp/ip connections Changes made in the 7.0 release to the way tcp/ip connections are closed during shutdown have exposed a problem where the thread performing DistributedSystem shutdown takes a long time to close sockets. Prior to 7.0 this was done asynchronously in a separate thread.
#46662 10/24/12 Snapshot entries are sent to WAN sites during import Snapshot entries were being distributed to WAN sites during an import.
#46663 10/24/12 GemFire JAR fails to be 'resolved' in an OSGi Container (such as Apache Felix or Eclipse Virgo) due undeclared and missing dependencies in the 'Import-Package' attribute of the GemFire Bundle JAR Manifest. The GemFire JAR will fail to be loaded, resolved and activated as a OSGi Bundle in an OSGi Container, such as Apache Felix or Eclipse Virgo, due to missing and undeclared dependencies in GemFire's Bundle JAR file Manifest, 'Import-Package' attribute. The following dependencies were identified and missing from the 'Import-Package' attribute... org.apache.catalina.*;resolution:=optional org.apache.tomcat.*;resolution:=optional org.codehaus.jackson.*;resolution:=optional Once these lines are added, then the GemFire JAR will successfully "Install", "Resolve" and "Activate" in an OSGi Container as an OSGi Bundle.
#46665 10/24/12 Unexpected RegionDestroyedException on internal monitoring region when shutDownAll runs during recovery The RegionDestroyedException is now converted into CacheClosedException, which is expected in this senario.
#46671 10/25/12 Fixed Partitioning quickstart example fails In the Fixed Partitioning quickstart example, the following files reference cache6_5.dtd when they should reference cache6_6.dtd. FixedPartitionPeer1.xml FixedPartitionPeer2.xml In the following files, change the DTD reference to cache6_6.dtd: quickstart/xml/FixedPartitionPeer1.xml quickstart/xml/FixedPartitionPeer2.xml
#46692 10/26/12 Management tools show incorrect value for partitioned region entry count If you use Pulse or gfsh or look at the GemFire mbeans to see how many entries are in a partitioned region the count will probably be wrong. Instead of showing you the count for that region it shows you the combined count of all the entries in your entire cache. You can use the apis and call the size method. You can also use the per region CachePerfStats and check the "entries" value on it in vsd.
#46695 10/26/12 Data inconsistency after OOM If a GemFire member did not shutdown after an OutOfMemoryException, it could have data that is inconsistent with other members. Hence, GemFire members are now forced to shutdown after OutOfMemoryException.
#46710 10/31/12 Unable to stop GemFire Servers using Gfsh when the Server was started using the old 'cacheserver' shell script. When users start GemFire (Cache) Servers using the old 'cacheserver' shell script and subsequently try to stop the Server using Gfsh, a NPE is thrown and the Server is not able to be stopped. The NPE is caused by trying to acquire status information from the Server prior to the shutdown invocation. However, the real issue is that an MBean is not properly created on the GemFire "Manager" for federation of the GemFire Server when using the old 'cacheserver' shell script. As such, no such information nor control can be derived with a GemFire member process started in this fashion. It is recommended that all information gathering and control be derived from the shell script used to start the GemFire member. When starting a GemFire member using the old 'gemfire' (Locator) or 'cacheserver' (Cache Server) shell scripts, then information and control must be derived from these corresponding scripts only. There are currently no plans to support backwards compatibility in Gfsh with the old shell scripts.
#46712 10/31/12 diskTaskWaiting attribute on RegionMxBean will always be zero. As DiskStores can be shared by multiple regions , showing disk store statistic ( diskTaskWaiting) on RegionMXBean is incorrect. Hence it is removed from the MBean. Instead user should refer to "TotalDiskTasksWaiting" on MemberMXBean.
#46715 10/31/12 RegionMBean attributes hitCount, hitRatio, missCount, lastAccessedTime, and lastModifiedTime will always be -1 in a pr For partitioned region all these attributes will be -1. These features are not supported for partitioned regions.
#46716 10/31/12 A RegionMBean for a partitioned region will have the wrong values for some attributes The following attributes will be incorrect on a RegionMBean for a partitioned region: entryCount cacheListenerCallsAvgLatency cacheWriterCallsAvgLatency createsRate destroyRate getsRate putsRate Use the per region CachePerfStats that can be viewed in vsd.
#46725 11/01/12 CPU Usage for client stats In CacheServerMXBean.showClientStats(String clientId) , process cpu time will be shown as raw long value which represents the CPU time used by the client process (in nanoseconds). JMX clients such as Pulse needs to derive the percentage value out of it.
#46753 11/05/12 HA with Transactions and wan sites There could be data inconsistency if the transaction data host crashes after successfully committing a transaction, but before changes are propagated to remote wan site.
#46800 11/13/12 Serial queue is not getting drained causing an event loss on remote site While processing ack from remote site, a synchronization issue caused serial sender queue not to drain causing event loss at remote site
#46832 11/15/12 client queue creation throws IOException causing incomplete initialization It is possible for client queue creation to throw an IOException while replicating data from an already-established queue. A warning-level alert of the form Initialization failed for Region /_gfe_non_durable_client_with_id_hs21f(edgegemfire2_hs21f_5707:5707:loner):55501:0aa36706:edgegemfire2_hs21f_5707_2_queue is issued when this happens. The problem is fixed in v7.0.1.
#46894 11/30/12 EvictionAttributesData API does not consider heap or memory eviction com.gemstone.gemfire.management.EvictionAttributesData defines a method getMaximumEntries(). The problem is that is applies only to lruEntry eviction. We can also set lruHeap eviction and lruMemory eviction, and calling a method named getMaximumEntries() doesn't make sense for lruHeap and lruMemory. in com.gemstone.gemfire.cache.EvictionAttributes we have a method called getMaximum(). This returns the maxEntries for lruEntry eviction and the memory size for lruMemory eviction. EvictionAttributesData made in sync with EvictionAttributes
#46910 12/04/12 User is allowed to set number of dispatcher threads to 0 User is allowed to set number of dispatcher threads to 0. Ideally it should throw GatewaySenderException.
#46911 12/04/12 Added check to disallow setting GatewaySenderFactory#setDispatcherThreads when setParallel mode is enabled on GatewaySenderFactory Added check to disallow setting GatewaySenderFactory#setDispatcherThreads when setParallel mode is enabled on GatewaySenderFactory. It now throws GatewaySenderException.
#46915 12/05/12 Help Text for 'start/status/stop' Locator/Server Incorrect The help text for the --name and --dir options have been changed for the start/status/stop on Locator and Server commands. The help text has been modified to be more accurate with respect to what the command and the specified option does as well as consistent across these related life cycle commands for Locators and Servers. > start server --name --dir name The member name to give this Cache Server in the GemFire cluster. dir Directory in which the Cache Server will be started and ran. The default is ./<server-member-name> > status/stop server --name --dir name Member name or ID of the Cache Server in the GemFire cluster. dir Working directory in which the Cache Server is running. The default is the current directory. > start locator --name --dir name The member name to give this Locator in the GemFire cluster. dir Directory in which the Locator will be started and ran. The default is ./<locator-member-name> > status/stop Locator --name --dir name Member name or ID of the Locator in the GemFire cluster. dir Working directory in which the Locator is running. The default is the current directory.
#46917 12/05/12 DIsk full can cause statistic archiving to cease and may lead to an OutOfMemoryException If the disk that statistics are being archived to fills up then GemFire will log an exception and statistics will no longer be archived. It is also possible that this will cause a NullPointerException in the stat sampler thread and if this happens it can cause a memory leak that can eventually lead to an OutOfMemoryException. To prevent the NPE do not set the archive-file-size-limit gemfire property. If you do then you can still prevent the OOM by turning off striped stats by setting this system property: -Dgemfire.STRIPED_STATS_DISABLED=true
#46920 12/05/12 GFSH commands does not view whole cluster in an environment with multiple network interfaces In an environment with multiple network interfaces ,if one or more servers are started , they might not join the cluster even if all of them has been pointed to a particular locator. Servers should be started with proper bind adress in case of multiple network interface in the machine. It includes network joined by VPNs. Bind-address can be mentioned in Cache.xml and gemfire.properties Also if proper hostname resolution does not work management layer will face problem seeing whole of cluster. Valid entries should be added to host files.
#46936 12/10/12 Calling executeWithInitialResults when cq is running can cause call to hang Calling executeWithInitialResults when cq is running can cause call to hang due to a lingering object lock. This has been fixed in 7.0.1 Avoid calling executeWithInitialResults on a cq if the cq is already running or is currently processing another executeWithInitialResults.
#46938 12/10/12 ManagementException thrown during locator discovery In wan auto discovery of locators, a ManagementException can be thrown if the locator is not able to connect to other configured locators.Ideally it should keep retrying after some wait period.
#46947 12/11/12 Update performed at the same time as a clear is not present after disk recovery In rare cases if a region clear is issued at the same time as a concurrent update, the update may succeed, and the update will be present in memory, but the update will not be written to disk. After the system is restarted this update may be missing. This only affects persistent replicated regions configured with asnychronous persistence.
#46975 12/16/12 Additional API for AsyncEventQueue AsyncEventQueueFactory is modified to have additional API to set these attributes: batchTimeInterval, batchConflationEnabled, diskSynchronous. AsyncEventQueue interface is modified to have getters for these attributes.
#46986 12/19/12 The Gfsh 'start server' command with the '--disable-default-server' option specified causes the GemFire data member to exit immediately. The issue stems from the non-Server, GemFire data member having no blocking non-daemon Thread beyond the 'main' application Thread, which does not block, unlike an actual GemFire Cache Server process, which has a Thread iterating over the ServerSocket listening for and accepting client connections. The com.gemstone.gemfire.distributed.ServerLauncher API class was changed to cause the 'main' application Thread to block until the GemFire date member process has received a signal to terminate either normally or by way of Exception. The 'main' application Thread periodically wakes up to determine if the connection to the GemFire cluster has been terminated and the distribution component has stopped.
#46992 12/20/12 When gateway concurrency-level is defined, PDX-serialized objects can be sent to remote sites before their PDX types This is an issue when the PDX object must be deserialized as a result of the remote put. In this case, an 'Unknown pdx type' exception is thrown. One work-around would be to not use concurrency-level initially and also configure PDX persistence. Once the PDX types have been replicated to and persisted in all sites, then reconfigure concurrency to the desired level.
#47005 12/21/12 InternalGemFireError could occur during query execution for multiple aliases on same region If index is used and there are multiple aliases for same region, InternalGemFireError could occur if concurrent index updates are going on during query execution. This has been fixed in 7.0.1.
#47006 12/21/12 HashIndex does not handle concurrent modifications of region entries correctly There is a chance that while querying against the hash index, if the underlying region entry has changed and no longer evaluates to a valid value, a ClassCastException will be thrown. We have fixed this in 7.0.1 as well as improved unnecessary sorting of the HashIndex results if ordering is not needed. None
#47034 01/03/13 Global WAN upgrade not required for AsyncEventListener In 7.0, if user tries to use AsyncEventListener with the default evaluation license, then it results in 'com.gemstone.gemfire.LicenseException' being thrown. In 7.0.1, this issue is fixed and user can use AsyncEventQueue/Listener with default evaluation license.
#47056 01/07/13 File descriptors can continually increase and only be reclaimed by a GC The socket-lease-time property controls how long a thread can keep exclusive access to a socket that it is not actively using. This property is valid only with conserve-sockets=false. The default of 60000 milliseconds may not be long enough for some applications. If the number of file descriptors is seen to continuously rise on the server, then this might be the reason and setting socket-lease-time=0 may solve it. Another case where has been seen is when max-threads is set on the cache server and conserve-sockets=false. Before 7.0.1, these threads timed out after 15 seconds causing their sockets to be closed. When the threads are recreated, the sockets are also re-established, which cases the FD churn. Before 7.0.1, the fix for this was to set the gemfire.IDLE_THREAD_TIMEOUT java system property so that the threads would time out less often. An example is -D gemfire.IDLE_THREAD_TIMEOUT=0x7fffffff. Set socket-lease-time=0 so that sockets are not timed out. Set gemfire.IDLE_THREAD_TIMEOUT to a high value so that server threads do not time out.
#47085 01/10/13 Javadoc for GatewayReceiver Methods in GatewayReceiver interface were missing the Javadoc. The documentation is now added for all the methods and fields in GatewayReceiver.
#47102 01/14/13 AsyncEventQueue size. In 7.0 there was no way to obtain the queue size of an AsyncEventQueue. Support added in 7.0.1.
#47109 01/15/13 GatewaySender doesn't re-establish connection after a GatewayReceiver is bounced Due to wrong exception handling, once GatewayReceiver is bounced, GatewaySender is not able to establish connection with that GatewayReceiver.
#47110 01/15/13 query results may contain UNDEFINED for a destroyed entry In case of asynchronous index maintenance, if index entries are being destroyed during query execution, query results may contain UNDEFINED for a destroyed entry. This has been fixed in 7.0.1 where the destroyed entry will not occur in the results.
#47112 01/15/13 Region.localClear() is distributed to other members Instead of merely clearing the local cache Region.localClear() is being distributed to peers and clearing their regions as well.
#47113 01/15/13 SerialGatewaySender with Concurrent Dispatcher can send a PDX object to the remote site before a PDX type causing IllegalStateException SerialGatewaySender with Concurrent Dispatcher can send a PDX object to the remote site before a PDX type causing IllegalStateException with Unknown pdx type
#47119 01/16/13 Additional API for AsyncEventQueue AsyncEventQueueFactory is modified to have additional API to set dispatcherThreads and orderPolicy. These attributes make sense only for SerialAsyncEventQueue. One can not set these for ParallelAsyncEventQueue and attempting to do so results in validation exception being thrown. AsyncEventQueue interface is modified to have getters for these attributes.
#47120 01/16/13 Gateway sender does not restart after exiting When all the receivers from a remote site are bounced back, sender site's sender are not able to make connection to these restarted receivers and hence not able to send data.
#47147 01/18/13 closing cacheserver will interrupt diskstore's writing thread ShutdownAll will close the cache server, which is interrupting all the running threads. If a thread is writing diskstore, it might end up with DiskAccessException and mark the diskstore not usable.
#47173 01/23/13 Query string may not compile if it contains certain Unicode characters Prior to 7.0.1, OQL parser did not support some Unicode characters. Support has been added in 7.0.1 for characters in range '\u00a1' and '\u00bf' also punctuation marks '\u2000' to '\u206f'.
#47219 02/01/13 Stats for AsyncEventQueue AsyncEventQueueStats are added which can be seen under 'asyncEventQueueStats-<Id of AsyncEventQueue> in VSD. The user can find the stats such as eventsReceived, eventsQueued, eventsDistributed, eventQueueSize etc.
#47249 02/05/13 DataSerializer.readObject may fail if passed a DataInput that is not an instance of InputStream If you call the public method DataSerializer.readObject(DataInput) with a DataInput that is not an instance of InputStream and one of the objects being deserialized was serialized with standard java serialization then you may see an exception thrown from readObject or you may deserialize incorrect data. The most likely thing you will see is an EOFException thrown from readObject. Make sure that your DataInput instance is an instance of InputStream.
#47251 02/05/13 Gfsh incorrectly warns of missing cache.xml file even though the Server finds the cache.xml when using relative paths. Previously, Gfsh would consider all relative paths in the shell relative to itself. Likewise, GemFire Servers would consider all path information passed to it relative to the Server. If the path to cache.xml was relative to the working directory of the Server, Gfsh would report the cache.xml as missing, but the Server would find it and start correctly. On the other hand, if the path to cache.xml was relative to Gfsh, Gfsh find the cache.xml, not report a warning, but the Server would fail to start. Going forward, all path information concerning cache.xml files, or even gemfire.properties files, will be relative to Gfsh. However, Gfsh will resolve the path first into an absolute path before passing the information to the server. Therefore, a 'start server' command issued like so... gfsh> start server -name=server1 --cache-xml-file=./cache.xml Will assume the following current directory organization... gfsh.log cache.xml ... server1/server1.log server1/... Where the "current" directory (containing cache.xml) is the working directory for Gfsh.
#47297 02/12/13 gfsh didn't start if the product absolute path contained a space. gfsh didn't start if the product absolute path contained a space. This issue is now addressed.
#47317 02/14/13 Javadoc of GatewayQueueEvent.getRegion() Javadoc of GatewayQueueEvent.getRegion() method is modified to mention that the value returned by this method can be null in the event the region has already been destroyed.
#47327 02/18/13 Additional API on AsyncEventQueueMXBean AsyncEventQueueMXBean is modified to have following additional API that map to the newly added attributes on AsyncEventQueue: public long getBatchTimeInterval(); public boolean isBatchConflationEnabled(); public int getDispatcherThreads(); public String getOrderPolicy(); public boolean isParallel(); public boolean isDiskSynchronous();
#47334 02/19/13 Sudden spike in old Generation Usage Deployments using JRockit JVM may experience a sudden spike in memory usage that pushes memory above the threshold even though an above threshold level of data is not being put into memory. Memory usage returns to normal after 1 to 2 seconds. Use gemfire.memoryEventTolerance=X (where X equals the number of measurements that should be received before GemFire delivers a Eviction/Critical UP event.) The recommended value is between 1 and 5.
#47342 02/20/13 network partition incorrectly declared when a process that was starting when the partition occurs is counted as having already joined in quorum calculations If a network partition occurs while a new member is joining, and the new member is no longer visible to the membership coordinator, that new member is not supposed to be included in quorum weight calculations. For instance, if a new cache server is started and is in the process of joining the distributed system when a network outage occurs, its weight of 10 may be included in the "lost weight" figure but not in the "previous weight" figure in quorum calculations. This artificially increases the "lost weight" figure and can cause a spurious network partition event to be declared by the membership coordinator by pushing the "lost weight" over the 51% threshold. This is unlikely to be of concern in a distributed system with more than a handful of processes.
#47355 02/21/13 'connect' command in gfsh did not work with IPv6 address for option --jmx-manager. 'connect' command in gfsh did not work with IPv6 address as host address for the option --jmx-manager. This issue is fixed in GemFire 7.0.1.