Changelog
This section lists the changes that were made to GigaSpaces products for 15.8.
17.1.5
Features and Enhancements
| Key | Name | Description |
|---|---|---|
| PIC-5553 | K8S version support | Support latest K8S version (tested with 1.34) |
| PIC-5814 | Update License in K8S | Add ability to update xap license without causing a restart in K8S environment |
| PIC-5799 | Support for SSO | SSO (openID) security support for service grid |
| PIC-5756 | Flink Upgrade | Upgrade Flink version: 2.1.0 |
| PIC-5797 | Detailed error in DI | Improve DI error handling |
| PIC-5769 | Changes in DI images | Stop using bitnami for DI in K8S |
| PIC-5774 | Data validation |
Pipeline Data Validation Rest API - compare pipeline tables data to source tables. Example:
curl -X 'POST' \ 'http://localhost:6080/api/v2/pipeline/bd9af4b5-f266-48ef-aae9-f47e03e94478/compare-indexes' \ -H 'accept: */*' \ -H 'Content-Type: application/json' \ -d '{ "sourceUsername": "user1", "sourcePassword": "mypwd"}'
|
Resolved Issues
| Key | Name | Description |
|---|---|---|
| PIC-5872 | Fix charts in ops-ui | Fix : If hsqldb metrics are enabled should see metrics charts in ops-ui |
17.1.4
Features and Enhancements
| Key | Name | Description |
|---|---|---|
| PIC-5715 | Space Type query and create service | Ability to query type and create service from Space Type screen. |
| PIC-5325 | Configure environment-specific logo | Ability to define different logo per environment (ENV_LABEL="DEV", ENV_BG_COLOR="#5FB224" (green)..). |
| PIC-5787 | Tooltip for space error and warning details | Show tooltip when space is in error or warning mode with details about the problem. |
| PIC-5680 | Reuse query parameters in SpaceDeck | Allow reuse the same parameter more than once in a query built in SpaceDeck. |
| PIC-4554 | Specify JVM args in service creator | Service creator - allow to specify JVM args for service. |
Resolved Issues
| Key | Name | Description |
|---|---|---|
| PIC-781 | Reduce admin API network traffic | High network traffic between admin APIs (decrease monitor rate: -Dcom.gs.manager.pu.monitor.interval=20000, default 1 sec). |
| PIC-5786 | Partial data in space in case of initial load failure with memoryXtended | Partial data in space in case of failure in initial load from database when memoryXtended is used. |
| PIC-5617 | .NET tests and examples fixes | .NET tests, benchmarks and examples fixes. |
| PIC-5698 | Off-heap routing after DB initial load | Off-heap after initial load from DB read goes to off-heap even though entry type is blobstore false. |
| PIC-5760 | Deploy hangs in k8s after multiple attempts | Deploy hangs in Kubernetes after several trials of deploy undeploy. |
| PIC-5748 | IN condition in prepared statement | IN condition fails when used in prepared statement. |
| PIC-5762 | Query exception on timestamp with zone | Exception executing query on timestamp field with condition when value includes zone. |
| PIC-5746 | Windows deployment IOException on folder rename | Intermittent Deployment Failure in Windows environment: IOException During Folder Rename. |
| PIC-5721 | JDBC delete with condition fails silently | JDBC delete with condition not working in certain scenario (nothing is deleted, no exception). |
| PIC-4072 | Start-pipeline button appears while running | Start-pipeline appears after pipeline is running. |
| PIC-4071 | Disable table operations during pipeline run | Option to add or remove tables should be disabled when pipeline is running. |
| PIC-5709 | Space creation limited to 3 parameters in SpaceDeck | Can't create space with more than 3 parameters via SpaceDeck. |
| PIC-5508 | Pipeline type fields exclusion not working | Pipeline creation - Type fields exclusion does not work. |
| PIC-5793 | Shade third party libraries in xap-jdbc | Shade third party libraries in xap-jdbc jar. |
17.1.2
Features and Enhancements
| Key | Name | Description |
|---|---|---|
| PIC-5601 | Allow helm charts to easily integrate with istio | Change helm charts to allow easy integration with istio in k8s env : --set global.sidecarIstioInject=true. |
| PIC-5673 | Allow not to block primary operations in case of redolog of recovery reached | Ability to fail recovery in case of redolog for recovery limit is reached, instead of block primary operations : added space property: cluster-config.groups.group.repl-policy.on-recovery-redo-log-exceeded-block-primary=false. |
| PIC-5649 | Detailed DI status including CDC and all tasks status | DI - Enhance pipeline status details returned in Rest API. |
| PIC-5660 | Allow fast recovery from RocksDB data source (to regular space) | Add RocksDB as a data source to in-memory space. |
| PIC-5679 | Allow configuring the ratio between the memory limit and heap size in Kubernetes environment |
Allow to configure maxRamPercentage in Kubernetes environment: For xap-manager, --set manager.maxRamPercentage=67 . For xap-pu --set 'env[0].name=XAP_MAX_RAM_PERCENTAGE,env[0].value="45"'. |
| PIC-5299 | Ability to retrieve only changed properties in DotNet external data source | Change API - get only changed properties in direct persistence in DotNet -Dcom.gs.direct_persistency.return-changed-properties=true. |
| PIC-5693 | Upgrade apache-jsp | Upgrade apache-jsp v 10.1.7 version due to CVE. |
| PIC-5603 | Upgrade Jetty | Upgrade Jetty to version 12.0.16. |
Resolved Issues
| Key | Name | Description |
|---|---|---|
| PIC-5624 | Configuring secure JMX stopped working in 17.0 version | Fixed secured JMX Regression (from version 17.0). |
| PIC-5697 | Fix getEntryByUID in tieredStorage to protect from SQL injection | Tiered Storage - SQL injection vulnerability in getEntryByUID. |
| PIC-5685 | Protective Query without index warning causes execution failure in some scenarios. | Protective query warning throws an exception in some scenarios, failing the operation. |
| PIC-5686 | Zookeeper security fails in cluster mode | ZK security fails in cluster mode. |
| PIC-5668 | Unexpected memory shortage exception in backup when memory manager configured to only work in primary | Recovery of backup fails due to memory shortage when memory manager in backup is disabled. |
| PIC-5691 | Unexpected warnings related to HSQLDB when it is disabled. | HSQLDB - when disabled, should not start and should not see activity regarding it. |
| PIC-5672 | Fix polling container cleanup in space shutdown | Regression from 17.1.1 - having 2 space instances in same jvm when a polling container is related to one, closing either one will close the polling. |
17.1.1
Features and Enhancements
| Key | Name | Description |
|---|---|---|
| PIC-5595 | Specific log for protective warning | Warning regarding protective mode should be on specific logger so customer will be able to filter out. |
| PIC-5503 | Details regarding query with no index | Enhance details about the related query in case of protective mode warning. |
| PIC-5329 | Add configurable number of retries for space recovery | Add configuration for number of retries in case of recovery failure: com.gs.recovery-retries default 3 |
Resolved Issues
| Key | Name | Description |
|---|---|---|
| PIC-5594 | Prevent failover when backup not healthy | Data loss due to unhealthy backup electing itself as the primary after restarting com.gs.waiting-timeout-for-leader-if-unhealthy. Default 5*60*1000. |
| PIC-5559 | CLI fails in certain MAC versions | Running gs.sh script on certain versions of mac machine failed - related dependency was upgraded. |
| PIC-5500 | ClassLoader cleanup in no class cache aggregation | Support the use of code change with no ID with immediate ClassLoader cleanup to allow loading all required classes in each aggregation. |
| PIC-5445 | Inconsistent query behavior when parameter type mismatch related data in space | Inconsistent query behavior - unexpected exception in some scenarios when a given parameter can't be compared with data in the space. |
| PIC-5440 | Split Brain was not resolved after two managers were down and reconnected | Split brain not resolved after zookeeper quorum is lost and resumed (downgrade zookeeper curator) |
| PIC-5330 | Space is not started after initial load failures when Space is in HA mode | HA Space pu is not becoming active after initial load failure. |
| PIC-5626 | DI stops writing to the space in case of partition failover in the middle of task execution | DI should handle failover in one of the space partitions while task is executed, timeout and retry in waiting for task results from all the partitions. |
17.1
Features and Enhancements
| Key | Name | Description |
|---|---|---|
| PIC-5571 | Upgrade third party jars | See Third-Party License Agreements. |
| PIC-3241 | Add readiness probe to XAP manager | Allow safe rolling upgrade of managers. |
| PIC-5444 | REST command GET /spaces/{id}/cfg | For In-Memory and Tiered Storage Spaces in both Service Grid and Kubernetes environments. |
| PIC-5442 | Read Only mode for Space | Add functionality that will allow using a Space in a read-only mode, blocking all WRITE/CHANGE/TAKE operations and allowing only READ. |
| PIC-5339 | Add API to support import/export of space configuration | As part of the effort to allow an import and export of configuration, there are now APIs to allow creation of a Tiered Storage space, and an API that will allow retrieval of space configuration for creation in another environment. |
| PIC-5300 | JDBC V3 - can't run query that doesn't start with select or explain, add option to start using 'with' | Support query starting with 'with'. |
| PIC-5251 | Add Kapacitor as part of Smart DIH / XAP umbrella in Kubernetes and allow configuration of default alerts |
Allow to configure the following two properties: * enabled * value (for condition) Example: dihFlinkJobManagerTaskSlots:
enabled: true
value: 0{noformat}
|
| PIC-5155 | Allow custom defined alerts | In addition to allowing customers to configure various aspects of default alerts, add the ability to add user defined alerts based on default or custom metrics. |
| PIC-5179 | Handle durable task recovery | Handle long task in high availability (with backups) and after partition restart. |
| PIC-5161 | Push down aggregation functions (max,min) to tier when relevant |
In Tiered Storage spaces, if aggregation can be pushed to tier, the aggregation will be performed on the underlying tier in one step per partition. |
| PIC-5057 | Ability to inject gigaspace instance to aggregation | During aggregation on one table, looks for data in the reference table. |
| PIC-4999 | Colocated join in case join condition includes routing info | As with broadcast tables. |
| PIC-4935 | Update DI/XAP components to the latest image OpenJDK 17.3 and add utilities as jmap and jstack | gigaspaces/openjdk:17.3, jmap and jstack utilities were added. |
| PIC-4665 | Allow overriding podManagementPolicy in xap-pu | By default, parallelmod for non high availability spaces. |
| PIC-4623 | Improve Tiered Storage space initialization time | Move the count per table to run in the async manner, as it's needed only for statistics and should not block partition from starting. |
| PIC-5344 | Add Broadcast support to space document and Poco in DotNet | Broadcast tables are now supported in DotNet, can be added as part of spaceclass annotation. |
Resolved Issues
| Key | Name | Description |
|---|---|---|
| PIC-5565 | Fix connect to data source for Oracle, Postgres And MySQL in ops-ui | Missing dependency. |
| PIC-5338 | LDAP - some permissions not getting read after securing grid with LDAP | Change LDAP configuration to include GS implementation of populator bean. |
| PIC-4653 | Tiered Storage mode over Windows SQLite not initialized properly | In Windows, SQLite DB not created properly due to Windows file naming policy, the XAP create a DB name that includes : which is allowed in Linux but forbidden in Windows. |
| PIC-4628 | Select * on a broadcast table with no Tiered Storage policy returns only part of records | Fix broadcast read for Tiered Storage space with multiple partitions. |
15.8.1
Features and Enhancements
- Kubernetes increase liveness probe values
- Enhance Java version parsing to support early access builds
- Add username to system report in beginning of log
- Support running Docker and Kubernetes as non-root user
- Improve Space clear with null template when Space contains broadcast table
- Support loading "com.gs.security.properties-file" from url
- Support loading "java.util.logging.config.file" from url
- Support loading "com.gigaspaces.metrics.config" from url
- Issue with deploying Manager to multiple namespaces in Kubernetes
- Move heap report to zookeeper
Resolved Issues
- Unable to change zookeeper clientPort
- Allow to configure security in Kubernetes
- Can't connect to a secured space using Ops Manager, same goes to the query data in the rest API
- Concurrent modification bug in system task
- Quiesce Mode during fail over is not resolved even after the curator client already reports RECONNECTED
- Default Cursor iterator does not support LRU space
- Default Cursor iterator does not support local view
- NPE running cursor iterator in DEBUG log level
- Upgrade from 14.5 to 15.x - ClusterInfo.getInstanceId() is wrong in some conditions
- "Templating dataTypeName" error in Grafana v7.4.1 when displaying Space Object Type Index Metrics
- Kubernetes operator - Pass LRMI properties to PU
- Kubernetes operator - Pass license to Kubernetes manager
- Marshalling exception caused by Oshi when parsing Mac OS version
- Block unauthorized features in REST and Ops-UI
- REST: Path variable with dot (.) is truncated in URL
- Upgrade from 12.3 to 15.5.1 log regression — unable to create log per PU using slf4j logger api and Log4j configuration
- Add scroll bar for data types and indexes table
- Query time shown in Ops Manager is incorrect
- Service card is green despite number of actual instances greater than planned
- Ops Manager doesn't display number of entries in single Space due to NPE
- Deploying/undeploying a Space succeeds but returns an operation timeout in the CLI
Known Issues
-
Exception in manager: java.sql.SQLException: statement is invalid while deleting rows from tables
- Exception in manager: org.hsqldb.HsqlException: statement execution aborted: timeout reached
15.8
Features and Enhancements
- Add more configurations for deploying a processing unit with Kubernetes Operator
- Ops-UI : Expose broadcast object and storage optimized
- Kubernetes operator web app deployment
- Count number of read operations instead of number of actually read objects while handling data type read counts
- Support Horizontal Scale for Kubernetes Stateful Sets
- Kubernetes - Deploy MemoryXtend space from Ops-UI
- Package Kubernetes Operator
- Support vertical scale for Kubernetes Stateful Sets using Operator
- Block scale in/out and undeploy features if the processing unit is deployed from helm charts
- Remove commons-lang and commons-codec from lib/platform/commons
- Upgrade Apache POI to 4.1.2
- Upgrade Snakeyaml to 1.27
- Upgrade Zookeeper’s Netty to 4.1.48
- ElasticGrid - Add service name to GSC log folder name in service dump
- Add more logs to service dump in ElasticGrid
- Upgrade Spring to 5.1.19
- Upgrade Spring Security to 5.1.13
- Upgrade Jetty to 9.4.35
- New gs.sh cli tool does not support deployment of 0 instances
- Deterministic deployment should use demote instead of restarts
- Ops-ui: reads by partition per Data type displays empty bar chart
- Remove unnecessary Space metrics metadata to decrease HSQLDB memory footprint
- RESTful Space query throws NullPointerException caused by non-required fields being empty
- Add support for deploy of Processing Unit using Kubernetes Operator
- Deploy stateless PU using Kubernetes Operator
- Remove dependency of commons-lang and commons-codec jars from lib/platform/commons
- JDBC - Support functions in Select clause
- Support Inner Join
- Support non-scalar subqueries (subquery as table)
- JDBC - Execute Join collocated with the data for relevant queries
- JDBC - Add support for Left Join
- Support function in Group By clause
- ElasticGrid - add PostgreSQL as a built-in service
- ElasticGrid — allow auto deploying blueprint when using data connectivity
- New configuration option to define initial port for JMX
- Upgrading Curator to release 5.1.0
- ElasticGrid - add option for disabling SSL on manager service
- Explain Plan is now available in Ops Manager
- ElasticGrid - improve life cycle of processing units
- ElasticGrid - allow public access for AWS Cluster
- ElasticGrid - use AWS credentials from the client host for node add/remove commands
- ElasticGrid - Use --server=<node-ip> to communicate with cluster
- ElasticGrid - ask for confirmation when running destroy command
- Define liveness health check and cancel restarts in readiness health check for stateful service on ElasticGrid
- Display a tooltip showing the index hits count in the object drill down page of the Ops Manager UI
- Added support for scale up/down stateful pu without high availability
- Set logger level using environment variable or system property
- Set metrics xml config file via GS_METRICS_CONFIG environment variable
- Set metric sampler using environment variable or system property
- Upgrade Oshi to 5.2.5
- Change default pu memory to 512mb and managers default to 1024mb on ElasticGrid
- Fix text overflow in GSCTL output to display all details including the token
- Rename rest-manager to ops-manager in ElasticGrid list-services command
Resolved Issues
- ClassNotFoundException when running on Java 8 on an IBM J9 VM within WebSphere
- Ops-UI services page - Align IOPS chart to the other charts
- Scale up/down - show cpu units in millicores
- Ops-UI: Hide IOPS chart of non-stateful services
- SQL functions executed twice if function also in Group By
- CPU and memory data not displayed in ops-ui
- DB tables for the Ops Manager metrics are not created if local language is not English
- Backup should recover from primary Space when using non-persistent blob-store data policy
- ElasticGrid - Unable to access the data grid from outside the cluster
- Unable to login to Ops Manager when switching between secured and unsecured modes
- Ops Manager data connectivity assigns wrong index type
- Property com.gs.jmx.enabled to false does not disable JMX
-
Illegal state - connection to ZooKeeper resumed but leadership is held by another session
- ElasticGrid - undeploy of a failed deployment leaks resources and causes error on redeploy
- NullPointerException when failing to initialize connection to HSQLDB
- ElasticGrid - scale out may hang when adding more than one partition with insufficient resources
- ElasticGrid - node remove command may terminate nodes without draining them when removing multiple nodes
- ElasticGrid - create cluster may fail when user-provided VPC/SG/subnet is in use
- CPU utilization not consistently reported across platforms
- Stateful blueprints fail to compile using Java 11 due to missing javax.annotation dependency
- ElasticGrid - Creating AWS cluster using user-provided security group may fail when the inbound rules contain a rule for the client machine IP
- After upgrading to 15 version, classNotFound exception due to usage of symbolic links
- Order of processing removal events prevents proper removal of VirtualMachine from Machine object in Admin API
- Retry policy used to connect a client to ZooKeeper elapses prematurely
- Space remains in stopped state after network reconnection
- Ops Manager UI displays an empty index
- NPE while running Explain Plan for Select Query that has id in Where clause
- Change log level of SQLTransientConnectionException from SEVERE to WARNING
- Oshi cause permanent WMI requests from XAP processes that are leading to a high CPU consumption
- Ignore GS_PU_DYNAMIC_PARTITIONING environmental variable when deploying non-partitioned service
- Create command might fail when using auto-generated subnet because of wrong availability zone choice
- Grafana got 502 error in ElasticGrid caused by DNS resolution
- Can't change port and IP in WEB UI
- Change default disk size in ElasticGrid AWS
- On Space shutdown, close ZooKeeper client's connection state listener
- ElasticGrid support for Java 11 and later
- After gsm restarted, exception [java.sql.SQLException: statement is closed] thrown for gsc
- 'gsctl node add' command fails if a wrong component name was provided
- ElasticGrid node add does not work with profile name that includes spaces
- gsctl info command does not work if the cluster is not created yet
- ElasticGrid disabling metrics when metrics-related built-in services are disabled
Known Issues
For client version 14.0 or older, there is a possibility that the redo log will be corrupted and not available for system recovery.
This can only happen if all of the following conditions are true:
-
The client system is version 14.0 or older
-
AND the server-side system is a later release of 14.2 or higher
-
AND the old client did a Change operation.
-
AND the redo log exceeds RAM capacity and goes to the hard drive,.
.

