The GigaSpaces 7.1.0 Beta(M9) is available for download through the download section of GigaSpaces Early Access Program page.
Previous GigaSpaces 7.1.0 Milestones (M3, M4 etc.) are available for download on the same page. GigaSpaces 7.1.0 Beta is the last a public Milestone of 7.1.0 GigaSpaces' product line.
On demand distributed dump and log gathering
This feature gives you the ability to generate a complete snapshot of the system's state on demand. This includes JVM thread and heap dumps, network utilization report, logs, space and processing unit dumps. Dump gathering can be done via the admin API or the UI (see image below - click t enlarge), and is supported for all the components of the GigaSpaces cluster (GSM, GSC, GSA, Space, processing unit, etc.).
This can become very handy when running large clusters and trying to monitor and troubleshoot multiple machines.
This feature also significantly improves the ability to monitor and track a running system.
It allows you to see an up to date view of the log file of all the running components (GSC, GSM, GSA, LUS). This view is constantly updated (similar to the Unix tail -f command). In addition, you can filter log entries fetched from each of the services based on a regular expression (e.g. only message that contain the word INFO or WARN), search the log text that is displayed in the UI, and copy its contents to the clipboard. See image below (click to enlarge).
Note also that this functionality is also available via our administration and monitoring API.
This release includes an initial version of our planned query enhancements, which enables users to set query criteria on nested objects. For example, say you have a class named Person, which contains an embedded instance of a class named Address class.
Until this release, the only way to query on that instance was by using its natural equality and ordering capabilities (i.e. based on its equals() and compareTo() method, if implemented). So you could only compare at the level of the entire Address class. In this release, you can query on the fields of the Address class and fields of its nested classes in the following manner:
SQLQuery query = new SQLQuery(Person.class, "address.street.number = 1");
As you can see from the above example, you can navigate multiple level on the object graph (in this case 2 levels).
Note that this functionality does not yet support indexing and collections (which it will in future milestone releases).
In an effort to make our data grid even faster than it is today, we have done some very important optimizations around our transaction processing mechanism. We have significantly reduced the contention in this area of our code base, which resulted in significant performance improvements of transactional operations (up to 400% in some cases).