Changelog
This section lists the changes that were made to GigaSpaces products for 15.8.
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
- GS-14463: Kubernetes increase liveness probe values
- GS-14487: Enhance Java version parsing to support early access builds
- GS-14486: Add username to system report in beginning of log
- GS-14474: Support running Docker and Kubernetes as non-root user
- GS-14478: Improve Space clear with null template when Space contains broadcast table
- GS-14475: Support loading "com.gs.security.properties-file" from url
- GS-14476: Support loading "java.util.logging.config.file" from url
- GS-14477: Support loading "com.gigaspaces.metrics.config" from url
- GS-14429: Issue with deploying Manager to multiple namespaces in Kubernetes
- GS-14389: Move heap report to zookeeper
Resolved Issues
- GS-14479: Unable to change zookeeper clientPort
- GS-14465: Allow to configure security in Kubernetes
- GS-14409: Can't connect to a secured space using Ops Manager, same goes to the query data in the rest API
- GS-14460: Concurrent modification bug in system task
- GS-14421: Quiesce Mode during fail over is not resolved even after the curator client already reports RECONNECTED
- GS-14438: Default Cursor iterator does not support LRU space
- GS-14435: Default Cursor iterator does not support local view
- GS-14450: NPE running cursor iterator in DEBUG log level
- GS-14399: Upgrade from 14.5 to 15.x - ClusterInfo.getInstanceId() is wrong in some conditions
- GS-14442: "Templating dataTypeName" error in Grafana v7.4.1 when displaying Space Object Type Index Metrics
- GS-14427: Kubernetes operator - Pass LRMI properties to PU
- GS-14426: Kubernetes operator - Pass license to Kubernetes manager
- GS-14423: Marshalling exception caused by Oshi when parsing Mac OS version
- GS-14422: Block unauthorized features in REST and Ops-UI
- GS-14417: REST: Path variable with dot (.) is truncated in URL
- GS-14388: Upgrade from 12.3 to 15.5.1 log regression — unable to create log per PU using slf4j logger api and Log4j configuration
- GS-14406: Add scroll bar for data types and indexes table
- GS-14396: Query time shown in Ops Manager is incorrect
- GS-14401: Service card is green despite number of actual instances greater than planned
- GS-14393: Ops Manager doesn't display number of entries in single Space due to NPE
- GS-14394: Deploying/undeploying a Space succeeds but returns an operation timeout in the CLI
Known Issues
- GS-14542: Exception in manager: java.sql.SQLException: statement is invalid while deleting rows from tables
- GS-14544: Exception in manager: org.hsqldb.HsqlException: statement execution aborted: timeout reached
15.8
Features and Enhancements
- GS-14332: Add more configurations for deploying a processing unit with Kubernetes Operator
- GS-14369: Ops-UI : Expose broadcast object and storage optimized
- GS-14379: Kubernetes operator web app deployment
- GS-14342: Count number of read operations instead of number of actually read objects while handling data type read counts
- GS-14340: Support Horizontal Scale for Kubernetes Stateful Sets
- GS-14341: Support vertical scale for Kubernetes Stateful Sets using Operator
- GS-14350: Block scale in/out and undeploy features if the processing unit is deployed from helm charts
- GS-14329: Remove commons-lang and commons-codec from lib/platform/commons
- GS-14347: Upgrade Apache POI to 4.1.2
- GS-14348: Upgrade Snakeyaml to 1.27
- GS-14349: Upgrade Zookeeper’s Netty to 4.1.48
- GS-14273: ElasticGrid - Add service name to GSC log folder name in service dump
- GS-14274: Add more logs to service dump in ElasticGrid
- GS-14344: Upgrade Spring to 5.1.19
- GS-14345: Upgrade Spring Security to 5.1.13
- GS-14343: Upgrade Jetty to 9.4.35
- GS-14158: New gs.sh cli tool does not support deployment of 0 instances
- GS-14009: Deterministic deployment should use demote instead of restarts
- GS-14337: Ops-ui: reads by partition per Data type displays empty bar chart
- GS-14336: Remove unnecessary Space metrics metadata to decrease HSQLDB memory footprint
- GS-14335: RESTful Space query throws NullPointerException caused by non-required fields being empty
- GS-14326: Add support for deploy of Processing Unit using Kubernetes Operator
- GS-14328: Deploy stateless PU using Kubernetes Operator
- GS-14329: Remove dependency of commons-lang and commons-codec jars from lib/platform/commons
- GS-14310: JDBC - Support functions in Select clause
- GS-14311: Support Inner Join
- GS-14312: Support non-scalar subqueries (subquery as table)
- GS-14313: JDBC - Execute Join collocated with the data for relevant queries
- GS-14314: JDBC - Add support for Left Join
- GS-14315: Support function in Group By clause
- GS-14305: ElasticGrid - add PostgreSQL as a built-in service
- GS-14297: ElasticGrid — allow auto deploying blueprint when using data connectivity
- GS-14013: New configuration option to define initial port for JMX
- GS-14295: Upgrading Curator to release 5.1.0
- GS-14291: ElasticGrid - add option for disabling SSL on manager service
- GS-14285: Explain Plan is now available in Ops Manager
- GS-14242: ElasticGrid - improve life cycle of processing units
- GS-14277: ElasticGrid - allow public access for AWS Cluster
- GS-14267: ElasticGrid - use AWS credentials from the client host for node add/remove commands
- GS-14263: ElasticGrid - Use --server=<node-ip> to communicate with cluster
- GS-14264: ElasticGrid - ask for confirmation when running destroy command
- GS-14251: Define liveness health check and cancel restarts in readiness health check for stateful service on ElasticGrid
- GS-14258: Display a tooltip showing the index hits count in the object drill down page of the Ops Manager UI
- GS-14225: Added support for scale up/down stateful pu without high availability
- GS-14247: Set logger level using environment variable or system property
- GS-14246: Set metrics xml config file via GS_METRICS_CONFIG environment variable
- GS-14245: Set metric sampler using environment variable or system property
- GS-14205: Upgrade Oshi to 5.2.5
- GS-14239: Change default pu memory to 512mb and managers default to 1024mb on ElasticGrid
- GS-14236: Fix text overflow in GSCTL output to display all details including the token
- GS-14219: Rename rest-manager to ops-manager in ElasticGrid list-services command
Resolved Issues
- GS-14334: ClassNotFoundException when running on Java 8 on an IBM J9 VM within WebSphere
- GS-14367: Ops-UI services page - Align IOPS chart to the other charts
- GS-14361: Scale up/down - show cpu units in millicores
- GS-14355: Ops-UI: Hide IOPS chart of non-stateful services
- GS-14357: SQL functions executed twice if function also in Group By
- GS-14331: CPU and memory data not displayed in ops-ui
- GS-14322: DB tables for the Ops Manager metrics are not created if local language is not English
- GS-14271: Backup should recover from primary Space when using non-persistent blob-store data policy
- GS-14307: ElasticGrid - Unable to access the data grid from outside the cluster
- GS-14308: Unable to login to Ops Manager when switching between secured and unsecured modes
- GS-14306: Ops Manager data connectivity assigns wrong index type
- GS-14048: Property com.gs.jmx.enabled to false does not disable JMX
-
GS-14282: Illegal state - connection to ZooKeeper resumed but leadership is held by another session
- GS-14284: ElasticGrid - undeploy of a failed deployment leaks resources and causes error on redeploy
- GS-14280: NullPointerException when failing to initialize connection to HSQLDB
- GS-14278: ElasticGrid - scale out may hang when adding more than one partition with insufficient resources
- GS-14279: ElasticGrid - node remove command may terminate nodes without draining them when removing multiple nodes
- GS-14252: ElasticGrid - create cluster may fail when user-provided VPC/SG/subnet is in use
- GS-14265: CPU utilization not consistently reported across platforms
- GS-14261: Stateful blueprints fail to compile using Java 11 due to missing javax.annotation dependency
- GS-14243: ElasticGrid - Creating AWS cluster using user-provided security group may fail when the inbound rules contain a rule for the client machine IP
- GS-14074: After upgrading to 15 version, classNotFound exception due to usage of symbolic links
- GS-14254: Order of processing removal events prevents proper removal of VirtualMachine from Machine object in Admin API
- GS-14238: Retry policy used to connect a client to ZooKeeper elapses prematurely
- GS-14223: Space remains in stopped state after network reconnection
- GS-14257: Ops Manager UI displays an empty index
- GS-14234: NPE while running Explain Plan for Select Query that has id in Where clause
- GS-14256: Change log level of SQLTransientConnectionException from SEVERE to WARNING
- GS-14206: Oshi cause permanent WMI requests from XAP processes that are leading to a high CPU consumption
- GS-14255: Ignore GS_PU_DYNAMIC_PARTITIONING environmental variable when deploying non-partitioned service
- GS-14240: Create command might fail when using auto-generated subnet because of wrong availability zone choice
- GS-14241: Grafana got 502 error in ElasticGrid caused by DNS resolution
- GS-14080: Can't change port and IP in WEB UI
- GS-14226: Change default disk size in ElasticGrid AWS
- GS-14233: On Space shutdown, close ZooKeeper client's connection state listener
- GS-14216: ElasticGrid support for Java 11 and later
- GS-14228: After gsm restarted, exception [java.sql.SQLException: statement is closed] thrown for gsc
- GS-14232: 'gsctl node add' command fails if a wrong component name was provided
- GS-14220: ElasticGrid node add does not work with profile name that includes spaces
- GS-14221: gsctl info command does not work if the cluster is not created yet
- GS-14217: 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,.
.
The complete list of changes is also available in

