 | Summary: A list of fixed bugs and known issues for GigaSpaces 5.2.2 (build 1739).
|
Overview
Below is a list of fixed bugs and new features since GigaSpaces 5.2.1 (build 1720):
Core
- GS-181 – Fixed: When performing a clear operation in a sync-replicated cluster, and the clear template matched a large quantity of Entries, a Java Heap OutOfMemory exception was thrown in the local space (holding the UID list). This caused other spaces in the replication group to complete the clear operation very slowly (sometimes minutes), or not to be cleared at all.
- GS-1490 – Fixed: Reading stored data in compressed light cache mode – with the push update policy, the local cache received the compressed object, and a ClassCastException was thrown when trying to access the Entry.
Query Engine
- GS-1465 – SQLQuery optimizations:
- The number of queries performed by a single SQLQuery have been minimized.
- Queries that can be translated to a single space query, can now be executed directly without any prefetch. In previous versions, any type of query (SELECT, DELETE, COUNT) was translated to readMultiple with maxValue=Integer.MAX.
- Expressions that contradict each other and never return any result, are now ignored and not executed.
GigaSpaces Browser
- GS-1305 – Fixed: Security roles were not loaded poperly. For example, in the Users View, after entering login details and pressing Add User or Edit user details, already opened roles weren't shown.
.NET
- A new .NET wrapper is available for the GSIterator. More details
- A new .NET wrapper is available for SQL Queries. More details
- SqlQuery functionality change – the .NET SqlQuery object functionality is now aligned with the Java object, regarding null query behavior.
Previously, a null query and string query with zero length were handled in the same way. The two queries behaved like a wild card, meaning all instances of the type sent with the query were matched by the query.
The functionality is now split into two different behaviors. A zero length string query behaves the same (described above). A null query on the other hand uses the template provided with the query for matching. SqlQuery constructors that take no template for an argument instantiate objects of the given type in the query and use it as a template.
Known Issues
- GS-441 - When shutting down the space, a few threads are not shut down:
- Thread 0=Watchdog
- Thread 1=LRMI Connection--pool-4-thread-1 ..16
- Thread 2=LRMI Selector Thread-0
- Thread 3=SpaceVersionTable$EntryVersionCleaner
- Thread 4=multicast discovery announcement listener
- Thread 5=multicast announcement timer
- Thread 6=LookupFinder.LookupCacheFinalize
- Thread 7=ClusteredKeepAliveDaemon-gigaSpace_container1:gigaSpace
- Thread 8=ClusteredXtnThread-gigaSpace_container1:gigaSpace
- Thread 9=parallel-operations-proxy-pool-8-thread-1
- Thread 10=ASyncUnicastReplicator
- The containsValue() method is not supported when used with a compressed IMap object.
- GS-1388 – An object that inherits from an inner object with generics might not be read successfuly from the space.
- GS-1543 – Using the NotifyDelegator in DIRECT mode is not supported (using DIRECT mode works like STANDARD mode).
- GS-1554 – Using the NotifyDelegator with SQLQuery in a partitioned space is not supported when the RoutingIndex field is null.
- GS-1687 – Wrong query result when using orderBy and rownum for simple queries – instead of ordering the results and then limiting the result set, the data is first limited and then ordered.
- GS-1289 – LookupFinder bug – client sometimes connects to a space with the same name in a different Jini group: This occurs with two spaces that have the same name (different container), each a member of one shared Jini group and one unique one, and only three lookup services up, each registered for only one Jini group of the three (the two unique and the shared). If you use SpaceFinder.find() for the space with the shared group, and then look for the space with one of the unique groups, while less than a minute passed between the finds – in the second find, you might receive a proxy to the wrong space.