Changelog

This section lists the changes that were made to GigaSpaces products for 17.1.0.

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 DIClosed The Data Integration (DI) layer is a vital part of the Digital Integration Hub (DIH) platform. It is responsible for a wide range of data integration tasks such as ingesting data in batches or streaming data changes. This is performed in real-time from various sources and systems of record (SOR. The data then resides in the In-Memory Data Grid (IMDG), or Space, of the GigaSpaces Smart DIH platform. status including CDCClosed Change Data Capture. A technology that identifies and captures changes made to data in a database, enabling real-time data integration and synchronization between systems. Primarily used for data that is frequently updated, such as user transactions. and all tasks status DI - Enhance pipeline status details returned in Rest APIClosed REpresentational State Transfer. Application Programming Interface An API, or application programming interface, is a set of rules that define how applications or devices can connect to and communicate with each other. A REST API is an API that conforms to the design principles of the REST, or representational state transfer architectural style..
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 KubernetesClosed An open-source container orchestration system for automating software deployment, scaling, and management of containerized applications. environment

Allow to configure maxRamPercentage in Kubernetes environment:

For xap-manager, --set manager.maxRamPercentage=67 .

For xap-pu --set 'env[0].name=XAPClosed GigaSpaces eXtreme Application Platform. Provides a powerful solution for data processing, launching, and running digital services_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 StorageClosed Automatically assigns data to different categories of storage types based on considerations of cost, performance, availability, and recovery. - 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 ZookeeperClosed Apache Zookeeper. An open-source server for highly reliable distributed coordination of cloud applications. It provides a centralized service for providing configuration information, naming, synchronization and group services over large clusters in distributed systems. The goal is to make these systems easier to manage with improved, more reliable propagation of changes. 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 HSQLDBClosed HSQLDB is a relational database management system written in Java. It has a JDBC driver and supports a large subset of SQL-92, SQL:2008, SQL:2011, and SQL:2016 standards. 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 SpaceClosed Where GigaSpaces data is stored. It is the logical cache that holds data objects in memory and might also hold them in layered in tiering. Data is hosted from multiple SoRs, consolidated as a unified data model. is not started after initial load failures when Space is in HA mode HA Space puClosed This is the unit of packaging and deployment in the GigaSpaces Data Grid, and is essentially the main GigaSpaces service. The Processing Unit (PU) itself is typically deployed onto the Service Grid. When a Processing Unit is deployed, a Processing Unit instance is the actual runtime entity. 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 RESTClosed REpresentational State Transfer. Application Programming Interface An API, or application programming interface, is a set of rules that define how applications or devices can connect to and communicate with each other. A REST API is an API that conforms to the design principles of the REST, or representational state transfer architectural style. command GET /spaces/{id}/cfg For In-Memory and Tiered Storage Spaces in both Service GridClosed A built-in orchestration tool which contains a set of Grid Service Containers (GSCs) managed by a Grid Service Manager. The containers host various deployments of Processing Units and data grids. Each container can be run on a separate physical machine. This orchestration is available for XAP only. 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 JDBCClosed Java DataBase Connectivity. This is an application programming interface (API) for the Java programming language, which defines how a client may access a database. 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 DIHClosed Smart DIH allows enterprises to develop and deploy digital services in an agile manner, without disturbing core business applications. This is achieved by creating an event-driven, highly performing, efficient and available replica of the data from multiple systems and applications, / 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 routingClosed The mechanism that is in charge of routing the objects into and out of the corresponding partitions. The routing is based on a designated attribute inside the objects that are written to the Space, called the Routing Index. 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 LDAPClosed Lightweight Directory Access Protocol. An open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. - 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.