Known Issues in vFabric GemFire 7.0.1

Last updated: 06/12/2013

Id Created Title Description Workaround
#40693 05/13/09 An explicit cache destroy of an entry will be lost (to the backend database). An explicit cache destroy of an entry will be lost (to the backend database) if the entry has been eviction or expiration destroyed. The region.destroy(key) will get EntryNotFoundException. The application can then load the entry and then retry the destroy operation to destroy the entry in the database.
#40791 06/11/09 Applications that use GemFire cache client processes should call Cache.close followed by DistributedSystem.disConnect If applications using a client cache do not call DistributedSystem.disconnect(), stale data may be encountered when the application reopoens the cache and subscribes to updates. Applications that use GemFire client caches should call Cache.close() followed by DistributedSystem.disconnect().
#42041 06/07/10 Calling Function.onServer repeatedly can cause socket exhaustion Heavy use of Function.OnServers from a client can cause sockets to churn and will cause "Too many open files" errors on the locator. If users see "Too many open files" errors when repeatedly calling Function.OnServers(), they should increase the ulimit settings on the host. For example, on Windows, change TcpIP/Parameters/NumConnections in the registry.
#42245 08/05/10 Clients that cycle many threads can cause a server memory leak Long-lived subscription-enabled clients that cycle many threads cause a memory leak on the server that contains their primary queue. Reuse threads on the client if possible.
#42324 09/10/10 Data type in Querying A query from client to server on a Long field does return correct result if 'L' is NOT used with value in WHERE condition(s), like "longID=10". Character 'L' must be used with value in where condition for client-server queries.
#42381 10/01/10 Cache creation does not fail if an index configured in cache.xml can not be created If a failure occurs while creating an index during cache creation (for example, gemfire starts up using cache.xml file), the cache should not be created. This will prevent users from trying to query indexes that do not exist. One way to make sure is to look into the stat file to see if all the indexes are created. Or if a query takes a long time than expected, it needs to be analyzed to see if it's using the expected index.
#42431 10/25/10 Region expiration may take longer than expected GemFire only uses a single thread to process expired region entries. This can cause expiration to take longer than expected as the schedule expiration queue up waiting for this single thread to process them. This bug is even worse if the expiration needs to remove the entry from disk or do a network hop. If you are not using GemFire transactions or are willing for a transaction to fail because of a conflict caused by a concurrent expiration then in GemFire 6.6 you can set -Dgemfire.EXPIRATIONS_CAUSE_CONFLICTS=true. This allows expirations to take advantage of multiple threads. If you then set -Dgemfire.EXPIRY_THREADS=XXX where XXX is the number of threads to use for expiration then you will have multiple threads doing concurrent expirations.
#42432 10/25/10 Java arguments passed to the gemfire.bat script are not passed to the JVM (Windows) The arguments passed with prefix '-J' to the gemfire script are expected to be passed to the Java VM process. This works on Unix/Linux systems when using the bin/gemfire shell script. However, on Windows systems using the gemfire.bat it does not work and is not supported. The workaround is to set you Java Arguments in the environment via the JAVA_ARGS environment variable and then run the gemfire.bat script and command. The script will then pick up the environments at run time. On Windows systems, set Java arguments using the JAVA_ARGS environment variable. When you run the gemfire.bat script, the arguments are read. There could be two types of arguments (1) Java VM switches (like -Xmx512m) : Use the environment variable JAVA_ARGS (2) GemFire properties that are to be set as System Properties to the Java VM: Use or use the environment variable JAVA_ARGS without using '-J'. e.g. To set gemfire.mcast-port use -Dgemfire.mcast-port=15001
#42452 11/08/10 In case of client server function execution, Execution.execute() becomes a blocking call waiting for ResultCollector to get populated with all results In case of client server function execution, Execution.execute() becomes a blocking call waiting for ResultCollector to get populated with all results. For peer to peer case, it is a non blocking call We need to make the client side function execution non-blocking. ---------------------------------------- List futures = null; try { futures = execService.invokeAll(callableTasks); } catch (RejectedExecutionException rejectedExecutionEx) { throw rejectedExecutionEx; } catch (InterruptedException e) { throw new InternalGemFireException(e.getMessage()); } if (futures != null) { Iterator itr = futures.iterator(); while (itr.hasNext() && !execService.isShutdown() && !execService.isTerminated()) { Future fut = (Future); try { fut.get(); } ----------------------------------------
#43193 04/21/11 GemFire clients fail when valueConstraint is set on server and client update violates it. When a client updates a server with a value which violates the valueConstraint set for the region's value on the server, it causes the client to shut down the pool and no longer use the server (even though the server is just fine) Remove the value constraint on the server if your clients cannot honor it
#43536 06/07/11 Function API classes must be included in the CLASSPATH The function APIs perform early deserialization during messaging of function results, filters, arguments, and the functions themselves. Therefore, the class for these objects must be included in the JVM's classpath. It is not possible to define your own class loader just before you read a function result or pass the arguments to your code. Add the classes for functions, function arguments, function filters, and function results to the CLASSPATH.
#43545 06/08/11 Cache close on client will wait until all operations in progress have been completed Cache close on client will wait until all operations in progress have been completed. This is because operations like putAll take the timeout value as an input parameter and may not close the sockets if operations are in progress. This is a corner case and if the user encounters this, they should ensure that their putAll operations are small or allow for a longer wait time to shut down the client If the user encounters this, they should ensure that their putAll operations are small or allow for a longer wait time to shut down the client
#43607 06/23/11 DynamicRegionFactory with registerInterest on a client may cause dynamic subregions to be lost DynamicRegionFactory with registerInterest on a client may cause dynamic subregions to be lost. If the client loses redundancy registerInterest will destroy any of the dynamic subregions. To avoid this problem set subscription-redundancy to a non-zero value or disable registerInterest on DynamicRegionFactory.
#43632 06/29/11 Security quickstart example may log a warning at server when the client is killed. A warning, stating an IOException, could be seen in the server's console when the client cache is closed immediately after completing the example steps. This could be avoided by running the example with subscription-enabled="false" in the client's xml.
#43673 07/11/11 Using query "select * from /exampleRegion.entrySet" fails in a client-server topology and/or in a PartitionedRegion. Using query "select * from /exampleRegion.entrySet" fails in a client-server topology and/or in a PartitionedRegion. The Following exception is thrown: Exception in thread "main" com.gemstone.gemfire.cache.client.ServerOperationException?: com.gemstone.gemfire.SerializationException?: failed serializing object at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl?.handleException(OpExecutorImpl?.java:530) at - Caused by: com.gemstone.gemfire.SerializationException?: failed serializing object at - com.gemstone.gemfire.internal.cache.tier.sockets.BaseCommand?.writeQueryResponseChunk(BaseCommand?.java:750) at - - Caused by: com.gemstone.gemfire.internal.cache.LocalRegion?$NonTXEntry at at at com.gemstone.gemfire.internal.InternalDataSerializer?.writeSerializableObject(InternalDataSerializer?.java:2032) at Use "select e.key, e.value from /exampleRegion.entrySet e" and construct the entry object in the application that is using Gemfire.
#43713 07/20/11 JRockit may crash with an Illegal memory access JRockit may crash with an illegal memory access. The specific version we say this with during testing was: BEA JRockit(R) R27.6.5-32_o-121899-1.6.0_14-20091001-2107-windows-ia32. The call stack looked like this: Thread Stack Trace: at findNext+288()@0xffffffff7ddbc9f4 at findNextToReturn+32()@0xffffffff7ddbca94 at refIterFillFromFrame+248()@0xffffffff7ddbcd2c at trProcessLocksForThread+52()@0xffffffff7ddcb1c0 at get_all_locks+88()@0xffffffff7dcee638 at javaLockConvertLazyToThin+88()@0xffffffff7dcee730 at RJNI_jrockit_vm_Locks_checkLazyLocked+584()@0xffffffff7dcf01d8 In this case following things might work - Turn off the optimizations with -Xnoopt option. This option turns off adaptive optimization. While optimized code generally runs faster than code that hasnít been optimized, occasionally, the time required to optimize code results in undesirable delays processing. -XnoOpt lets you avoid these delays by turning off optimization. This option is also helpful when you suspect that a JVM or application problem, such as a system crash or poor startup performance, might be related to optimization. You can turn optimization off and retry your application. If it then runs successfully, you can safely assume that the problem lies with code optimization For more information check out the below link Topic: -XnoOpt - Try to upgrade to the latest JRockit version as most of the problems are be fixed just by upgrading. - Last option would be get in touch with the Oracle Weblogic Support team.
#43750 07/27/11 Gateway toString erroneously indicates that the Gateway is connected The Gateway toString message indicates that the Gateway is connected to the remote site even when it is not connected. For example: [info 2011/07/26 15:46:57.598 EDT <main> tid=0x1] Started Primary Gateway to LN connected to [LN-1=ln_host_1:6622, LN-2=ln_host_2:6622] To determine whether the Gateway failed to connect to the remote site, look for a warning similar to the following: [warning 2011/07/26 15:46:57.527 <main> tid=0x1] Primary Gateway to LN not connected to [LN-1=ln_host_1:6622, LN-2=ln_host_2:6622]: Could not connect. To determine when the Gateway successfully connects to the remote site, look for a message similar to the following: [info 2011/07/26 16:07:36.187 EDT <Gateway Event Processor from NY to LN> tid=0x154] Primary Gateway to LN connected to [LN-1=ln_host_1:6622, LN-2=ln_host_2:6622]: Using com.gemstone.gemfire.cache.client.internal.pooling.PooledConnection@1bb1849: Connection[ln_host_2:6622] after 81 failed connect attempts
#43758 07/29/11 Suspended transaction from function execution unusable after primary rebalancing When multiple invocations of a function participate in a single transaction (suspending and resuming transactions for each invocation), a high-availablity event may re-balance the primaries, which make it impossible possible to target the original transactional node for function execution. Use the system property gemfire.DISABLE_MOVE_PRIMARIES_ON_STARTUP to allow function execution to target the same member.
#43781 08/04/11 Region put may do multiple serializations of the value A Region put invocation may serialize the value multiple times. If the region being put on has a DataPolicy of EMPTY and it is in a cache server that clients have subscriptions on then one serialization will be done to push the value to peers of the server and another serialization will be done to push the value to the subscribed clients. If the region is using a disk store and it is not partitioned then it may be serialized twice; once to distribute it to peers and once to write it to disk. You could preserialize the value into a byte[] and put the byte[] in the region. But in this case all readers if the cache need to be changed to deserialize the byte[]. See the internal class com.gemstone.gemfire.internal.util.BlobHelper. You can use its static methods serializeToBlob and deserializeBlob.
#43784 08/05/11 How can I tell that a region was closed because I ran out of disk space. We see that when peer runs out of disk space, the regions that failed to persist close automatically. Is there a way to detect this condition? For example, to detect network split or any network issues we add listener to any of our Region and watch for regionDestroy and check operation to be FORCED_DISCONNECT or if whole Cache is closed then we do our own logic and exit the JVM. But in case when Region runs out of disk space each individual region is closed. But the Cache doesn't seem to be closed. So we are not able to detect this condition at all. Is there any way we can detect this in the listeners? The CacheListener afterRegionDestroy is called in this case. The operation will be REGION_CLOSE. We do log a message at "error" level that says: A DiskAccessException has occurred while writing to the disk for region XXX. The region will be closed. If you are able to access the log in your CacheListener then you could check for this log message.
#43849 08/23/11 Attempts to use a writable-working-dir over NFS may result in hangs involving NIO file locking Attempting to use a writable-working-dir over NFS may result in hangs involving NIO file locking. Licensing uses java.nio.channels.FileChannel.lock to lock the license state and events files that are persisted to writable-working-dir. The call to FileChannel lock may hang in the JVM native layer. The stack dump of the hung thread may look similar to the following: {{{java.lang.Thread.State: RUNNABLE at Method) at at java.nio.channels.FileChannel.lock( at - locked <0xe02f5a80> (a java.lang.Object) at at<init>( at com.springsource.vfabric.licensing.client.LicenseManagerEnvironment.<init>( at com.springsource.vfabric.licensing.client.LicenseManagerFactory.getLicenseManager( at com.gemstone.gemfire.internal.licensing.VFabricLicenseEngine.getLicenseManager( at com.gemstone.gemfire.internal.licensing.VFabricLicenseEngine.acquireLicense( at com.gemstone.gemfire.internal.licensing.CacheLicenseChecker.acquireLicense( at com.gemstone.gemfire.internal.licensing.LicenseChecker.acquireLicense( - locked <0xe02604c8> (a com.gemstone.gemfire.internal.licensing.ServerLicenseChecker) at com.gemstone.gemfire.distributed.internal.InternalDistributedSystem.getLicenseChecker( - locked <0xdfd56c28> (a java.util.concurrent.atomic.AtomicReference) at com.gemstone.gemfire.distributed.internal.InternalDistributedSystem.initialize( at com.gemstone.gemfire.distributed.internal.InternalDistributedSystem.newInstance( at com.gemstone.gemfire.distributed.DistributedSystem.connect( }}} Specify a directory on a local drive for writable-working-dir instead of a directory that is accessed through NFS. The property writable-working-dir is specified in
#43866 08/26/11 Cache plugins may fail if read-serialized is true If read-serialized is set to true on your cache and you have plugin classes (for example CacheListener, CacheWriter, CacheLoader), when those plugins are serialized as a PDX, the plugin fails because GemFire sees the plugin as an instance of PdxInstance. This problem only occurs if your plugins are serialized as PDX because you have implemented PdxSerializable or have a PdxSerializer that serializes the plugin class. Note that classes that implement Function are never passed to a PdxSerializer but can still implement PdxSerializable and then fail just like the other plugins. Do not implement PdxSerializable or change your PdxSerializer to serialize that plugin class. Instead, make your plugin class implement DataSerializable. This prevents the plugin from being serialized by a PdxSerializer.
#43904 09/13/11 WAN Gateways started before regions are created can cause updates to be lost If gateways are restarted and connected to remote sites before the local regions are created, then any events received by those gateways will cause exceptions and be dropped. In the case where gateways are defined in the same JVMs as the regions using xml, proper startup order is maintained and this will not happen. In the case where gateways are created and started in JVMs separate from those where regions are created, startup ordering may not be correct. Make sure that gateways are started after regions are created and initialized. In the case where gateways are created and started in JVMs separate from those where the regions are created, they should be manually started after the regions are created. A RegionMembershipListener can be used to facilitate this.
#44006 10/12/11 Hang in primary rebalancing In rare cases, rebalancing primaries may lead to a hang in BucketAdvisor.becomePrimary on one of the members. Stop the hung member and restart it.
#44229 11/30/11 Destroy operation on a region causes offline member to become unusable When some members are offline, a destroy (or local destroy) operation on a persistent region causes the offline member to be unable to start. Start all offline members before destroying a persistent region.
#44399 01/19/12 Changing the distributed-system-id can cause PDX failures If the distributed-system-id is changed and a previously used one is re-used, then PdxType conflicts can occur. Do not change the distributed-system-id after it has been set.
#44404 01/19/12 Partitioned region single hop may fail to direct load balance requests to a newly joined server when optimize-for-write is set to false This problem is caused by stale metadata on the client. The problem occurs when the client is only performing read operations, and a Function has optimize-for-write set to false. Any write operations into the region will fix the problem. Perform a write operation into the region to fix the problem.
#44410 01/20/12 The load-conditioning-interval property does not work as expected when connecting to explicit endpoints When the load-conditioning-interval property is used with explicit servers instead of with locators, connections are still recycled after 5 minutes. The property works as expected when you are using locators to obtain connections for server communication. Use locators to obtain connections for server communication.
#44411 01/20/12 Querying on an enum field always returns an empty result set Querying on enum fields returns an empty result set even when there are qualifying rows. The only workaround available for this issue is to use a bind parameter for the enum field in the query. For example: This query fails: select distinct * from /QueryRegion0 where aDay = Day.Wednesday The query succeeds when the query is rewritten as follows: select distinct * from /QueryRegion0 where aDay = $1 and Day.Wednesday is passed as an execution parameter.
#44558 02/17/12 Gateway.stop() does not cleanup/destroy the region for the Gateway Event Queue Manually stopping a gateway using the API doesn't close the region backing the queue. This will cause unnecessary event replication to the JVM containing the stopped gateway. The region is internal but it can be retrieved and closed manually. The region is named: gatewayHubId + "_" + gatewayId + "_EVENT_QUEUE" String gatewayRegionName = gatewayHubId + "_" + gatewayId + "_EVENT_QUEUE"; Region region = cache.getRegion(gatewayRegionName); region.close(); The region should be just closed and not destroyed so any persistent data is not deleted.
#44576 02/23/12 Query acts as if a non-existent field exists A query may act as if a non-existent field exists and has the default value for the field type. This can only happen if the class that contains the field has been PDX serialized and you have at least two versions of your class; one without the field ("V1"), and one with the field ("V2"). The problem will only happen in a JVM in which the query execution originated when the JVM has read-serialized equal to false. Under these conditions, the query thread will deserialize the PDX back into a domain class. If the serialized data represents "V1" but the query thread deserializes the PDX into an instance of "V2", then the query will act as if the non-existent field exists. However, if read-serialized is set to true or if the query originated in a remote JVM, then the query will just use a PdxInstance for "V1"'s serialized data and will act as if the non-existent field does not exist. If your code invokes queries on objects that may have different versions, set read-serialized to true.
#44606 02/29/12 Registration of instantiators can cause Gateway deadlock Gateways experience deadlock when trying to register instantiators. Register the instantiators in the hubs prior to creating the cache using the serialization-registration cache xml element. This prevents the InternalInstantiator .sendRegistrationMessageToServers call
#44648 03/08/12 gemfire start-locator fails to start a locator when a .locator directory is present If there is failure when stopping a locator, the process might not delete the .locator directory, which can prevent users from starting a new locator instance. If an old .locator directory exists, delete it before starting the locator.
#44710 03/21/12 A region configured with persist-backup="true" and data-policy="persistent-partition" throws IllegalStateException A region configured with persist-backup="true" and data-policy="persistent-partition" throws IllegalStateException. Do not set the deprecated persist-backup attribute.
#44961 04/23/12 Mutiple cache creations may fail In some cases, a cache creation request may fail when it should not. Because the cache is a singleton, you can only create one per JVM. If a subsequent cache creation attempts to create an identical cache, the existing cache should be returned. If you have pdx attributes configured in your cache.xml file, and not on the cache factory, then the subsequent creation requests fail with an IllegalStateException saying that the pdx attributes differ. Configure pdx using cache factory methods or change your code to fetch the singleton cache instead of creating it.
#45081 05/25/12 IOException can be thrown with Sun JDK 1.6 on Windows Observed " An operation was attempted on something that is not a socket" on windows with Sun JDK 1.6. This could be because of NIO bug in the JVM that is fixed in JDK 1.7 []. Use JDK 1.7 on Windows machines.
#45093 05/29/12 Clients may throw a Null Pointer Exception without a message if the client's server runs out of file descriptors Clients may throw a Null Pointer Exception that has no message if the client's server runs out of file descriptors. The exception may also be reported in the server's log. Increase the file descriptor limit to the appropriate level.
#45116 06/05/12 Shutdown all or cache close may cause spurious NotSerializableException If you are using a PdxSerializer you may see a NotSerializableException during a cache close or a shutdown all. This is because the PdxSerializer is uninstalled during the cache close and, in some rare cases, GemFire may still attempt to do a serialization even after the PdxSerializer is no longer installed. In that case it will attempt to use standard java io serialization and if your object does not support standard serialization you will then see a NotSerializableException. Ignore NotSerializableException if the cache is being closed or shutdown.
#45251 06/22/12 Performance degrades when publishing to replicated peers from an empty region where concurrency checks are enabled GemFire's concurrency control mechanism currently requires a region configured with DataPolicy.EMPTY to proxy its operations through another process that a DataPolicy configured to use replication. This can cause performance to degrade. VMware recommends that you publish using a region with replication instead of an empty region.
#45600 07/30/12 Delay while getting Mbean and its Data User may experience latency in getting new Mbean and its Data. The system takes 1.5 sec in federation. So user would get new Mbean and its Data at least in 1.5 sec, but also depends on network traffic. For existing Mbean the delay will be only in updates and not for Mbean. User should develop code or script keeping this delay in mind.
#45685 08/08/12 Some javadocs on Region methods say they will throw UnsupportedOperationException but they do not The following methods on Region say they will throw an UnsupportedOperationException if the region is a partitioned one but this is not true: invalidateRegion() getSubregion(String) containsValue(Object) Ignore the javadocs in these cases. These operations are supported on partitioned regions.
#45934 08/23/12 AssertionError during startup while updating entries in a persistent replicated region An AssertionError ("Version stamp should have a member at this point for entry ...") may be generated when a member defined with an EMPTY, NORMAL, or PRELOADED data policy for a persistent replicated region begins inserting cache entries using putAll operations while the persistent peers are starting up. Ensure that the persistent members in a replicated region are online before inserting data into members with a data policy of EMPTY, NORMAL, or PRELOADED for that same region.
#45964 08/27/12 Hang doing distributed region destroy during persistent recovery If a running member initiates a distributed destroy of a persistent region using Region.destroyRegion at the same time another member is trying to recover the region from disk, there is a slight chance the distributed destroy and the member recovery will hang. Wait until all members are running before doing a distributed destroy. If this hang is encountered, kill the member that is trying to recover from disk.
#46020 08/31/12 GemFire fails to start if the install directory name contains non-ASCII characters Under Windows, when attempting to launch GemFire scripts (gemfire.bat, cacheserver.bat or gfsh.bat) GemFire may fail to launch if the name of the installed directory contains non-ASCII characters. This issue may also occur if GemFire is launched with the -dir option pointing to a directory whose name contains non-ASCII characters. 1. Relocate the GemFire product tree to a directory structure whose name only includes ASCII characters. 2. Delete the *.dll shared libraries from the lib directory. These libraries provide native startup support but are not required in most cases.
#46112 09/09/12 Moving gfsh to the background is not supported. On Unix systems, jobs can be moved to background (using Ctrl-Z) and then later moved back to the foreground (using fg). This behavior is not supported for gfsh. When you type Ctrl-Z, gfsh exits with a "FATAL Exit". Do not move gfsh jobs to the background.
#46230 09/18/12 JLine DLL issue for multiple instances of gfsh started simultaneously. JLine uses DLLs on Windows to interact with the operating system to read special keys (such as the arrow keys) which are otherwise inaccessible when using the stream. There is a rare possibility of two instances of gfsh trying to load the same DLL at the same time, which causes the second instance to fail. Restart the second instance of gfsh.
#46391 09/27/12 The MBean for a newly created region may not be available immediately. GemFire Manager has the federated view of the MBeans for the entities on GemFire Members. There is a delay in the updates that reach the Manager. Therefore, after creating a region using "create region" command, the MBean for that region is not available on the member immediately. If subsequent commands perform an operation on that region, you should add a slight delay using the "sleep" command. Add an explicit delay of 1.5 to 3.0 seconds. You can use the Thread.sleep() method or use gfsh command 'sleep'.
#46419 09/28/12 Revoking a non-existent disk store should fail, but instead succeeds with no indication of an error. Disk stores that are considered missing (as reported by the "show missing-disk-store command) may be removed from the system with the "revoke missing-disk-store" command. If, while entering the revoke command, the user inadvertently enters an ID that doesn't match an existing disk store, a result of success will be returned instead of an error. This could lead to the user believing the disk store has been successfully removed when it has not been removed. After using the "revoke missing-disk-store" command the user should again run the "show missing-disk-store" command to confirm that the disk store was successfully removed.
#46878 11/28/12 ^Z will kill gfsh and any servers started from that gfsh If you type ^Z from gfsh, it will kill your gfsh process and any locator/server processes that you started from that gfsh process. Note that this will also happen if you are running a shell script that is executing gfsh when you type ^Z. Use ^C instead of ^Z to interrupt a long running gfsh command. This will cause gfsh to quit waiting but leave the child processes running.
#47181 01/24/13 Combination of mcast-port=0, enforce-unique-host=true and redundancy-zone=x causes UnsupportedOperationException The combination of these properties causes an UnsupportedOperationException: mcast-port=0, enforce-unique-host=true, redundancy-zone=x. This bug is in 7.x versions. Either set the mcast-port to non-zero or to remove the enforce-unique-host and redundancy-zone properties.
#47205 01/29/13 PdxSerializer may be passed a CopyOnWriteArraySet At least one internal GemFire class (CacheProfile) sometimes serializes a CopyOnWriteArraySet which may not work if you implement and install a PdxSerializer. In you PdxSerializer toData method check to see if the incoming object is an instanceof CopyOnWriteArraySet. If so return false.
#47243 02/04/13 EventFilter can receive PdxType events PdxType events are internal events generated which are required to be sent on remote sites for PDX to work. Currently, it is handed over to filter callback before queuing which could lead to its not getting queued to the GatewaySenderQueue. User should not filter PdxType events.
#47277 02/08/13 Concurrent large partitioned region queries may cross low memory threshold and run out of memory When low memory is detected on partitioned region queries, query processing will continue to read in results from other servers. This can generate enough garbage to run out of memory. Tune critical threshold and execute less queries in parallel or smaller queries
#47338 02/19/13 Client PDX metadata is out of synch with server when client runs longer than server When a client is still running and the server is restarted, the client's PDX type metadata may go out of synch with the server's PDX type metadata. This can cause the client's get operations and queries to throw exceptions during deserialization. The issue can be addressed by persisting PDX metadata to disk. See the "Data Serialization" section of the vFabric GemFire User's Guide for more details.
#47358 02/21/13 Warning alert during rolling upgrade In a system with mixed v7.0.0 and v7.0.1 caches, those with 7.0.0 may issue warning-level alerts that indicate that a message was not fully read. This is caused by a fault in version management code the product. The warning-level alert can be ignored.
#47366 02/22/13 Query using keys throws EntryDestroyedException The query engine can throw EntryDestroyedException while queries on region key sets are being executed. This happens when a region entry destroy operation is in progress, and the query is concurrently doing a non-index scan and trying to retrieve a value from the entry. Create a relevant index that will make the query iterate through index entries. This will allow you to avoid this problem.
#47375 02/25/13 Limiting the query fetch result set to 1000 affects queries containing aggregate functions To avoid unintended load from accidental querying (which causes iteration over a large number of rows), the gfsh query command limits FETCH SIZE to the value gfsh-controlled variable APP_FETCH_SIZE (default of 1000). If a user has aggregation functions inside their query, they should explicitly set APP_FETCH_SIZE to a value >= expected entries in the region. Set the gfsh APP_FETCH_SIZE variable to a very high value when a query has aggregate functions in it to avoid getting the result aggregated over a limited set of rows.
#47394 02/28/13 Conflation of latest event in WAN queue can cause inconsistency Inconsistency can occur in WAN sites when conflation is enabled. If the latest event is being conflated in the WAN queue during concurrent operations, it can result in inconsistency between the WAN sites. Disable conflation to resolve this issue.
#47506 03/12/13 Locators start and form separate distributed systems. If two locators are started simultaneously, it is possible that these locators will connect with no knowledge of each other. Ensure that locators are configured to know about one another in their and stagger the starting of locators.
#47664 04/02/13 start server command ignores --server-port argument if cache server is defined in cache.xml The GFSH start server command will ignore the --server-port argument if a cache server is defined in cache.xml. If no port is specified in cache.xml, it will use the default port 40404. If a port is specified in cache.xml, then that port will be used. In either case the port specified on the GFSH command line will be ignored unless a cache server is not specified in cache.xml. If a cache server is not specified in cache.xml then a cache server will be created using the --server-port argument (if present) unless disable-default-server is specified. Either specify the port in cache.xml or do not define the cache server in cache.xml. In the latter case, a default cache server will be created and will use the port argument as expected.
#47667 04/02/13 Client hangs during transaction commit when the server does not define all regions When a GemFire server does not define all the regions involved in a transaction, a GemFire client may hang while committing a transaction. Servers must define all regions participating in a transaction or none at all.
#47665 04/02/13 start server command does not immediately fail if the specified --server-port is unavailable The GFSH start server command does not immediately fail if the specified port is unavailable. If the port is unavailable and it is specified with the port argument or within cache.xml, then it may fail after connecting to the cluster when it finally uses the port to create a server listener. The port in use message (involving a Java BindException) is only found in the launching server's log but is not printed to the output of the command within GFSH. The user must wait until the server fails to start and then analyze its log file to determine if the cause was the server port being unavailable.
#47744 05/08/13 Starting a gemfire process using a gemfire.jar located in root drive on Windows throws NullPointerException Starting a gemfire process using a gemfire.jar located in root drive on Windows throws NullPointerException. Example: C:\gemfire.jar Exception in thread "main" java.lang.NullPointerException at com.gemstone.gemfire.internal.SystemAdmin.getHiddenDir( at com.gemstone.gemfire.internal.licensing.LicenseChecker.getHiddenSerialFile( at com.gemstone.gemfire.internal.licensing.LicenseChecker.( Place the gemfire.jar into a subfolder with a non-root parent folder. Example: C:\parent\sub\gemfire.jar. A typical installation of the gemfire product places the gemfire.jar in C:\gemfire\lib\gemfire.jar
#47856 05/02/13 start server command ignores the --disable-default-server argument when processing cache.xml The GFSH command start server will ignore --disable-default-server and start a server endpoint for clients using the default port 40404 when processing cache.xml. Use the deprecated script $GEMFIRE/bin/cacheserver to start a cache server with a disabled default server and a cache.xml file.