You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhanced Memory Management for Large Term Indexing - Fixed a critical issue where Concourse Server would crash when indexing large search terms on systems with disabled memory swapping (such as Container-Optimized OS on Google Kubernetes Engine). Previously, when encountering large search terms to index, Concourse Server would always attempt to use off-heap memory to preserve heap space for other operations. If memory pressure occurred during processing, Concourse would detect this signal from the OS and fall back to a file-based approach. However, on swap-disabled systems like Container-Optimized OS, instead of receiving a graceful memory pressure signal, Concourse would be immediately OOMKilled before any fallback mechanism could activate. With this update, Concourse Server now proactively estimates required memory before attempting off-heap processing. If sufficient memory is available, it proceeds with the original approach (complete with file-based fallback capability). But, if insufficient memory is detected upfront, Concourse immediately employs a more rudimentary processing mechanism that requires no additional memory, preventing OOMKill scenarios while maintaining indexing functionality in memory-constrained environments.
Configurable Garbage Collection - Added the force_g1gc configuration option to allow Concourse Server to use the Garbage-First (G1) garbage collector on JDK 8. When enabled, Concourse Server will configure G1GC with optimized settings based on the available heap size and CPU cores. This option is particularly beneficial for deployments with large heaps (>4GB) or where consistent response times are critical, as G1 provides more predictable pause times than the default collector.
Fixed a bug that prevented Concourse Server from properly starting if a String configuration value was used for a variable that does not expect a String (e.g., max_search_substring_length = "40"). Now, Concouse Server will correctly parse all configuration values to the appropriate type or use the default value if there is an error when parsing.
Enhanced the concourse data repair CLI so that it fixes any inconsistencies between the inventory (which catalogs every record that was ever populated) and the repaired data.
Added a new ping() method to the Concourse API that allows clients to test the connection to the server. This method is designed to be lightweight and can be used to check server responsiveness or measure latency without incurring additional overhead for data processing. The method returns true if the server is responsive and false if the connection has failed, making it useful for health checks and connection monitoring.
GH-570: Fixed a regression that occurred when sorting on a single key and the result set failed to include data for records where the sort key was not present, even if that data would fit in the requested page.