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-14358: Kubernetes - Deploy MemoryXtend space from Ops-UI
  • GS-14346: Package Kubernetes Operator
  • 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 Jira.