EGL/OpenGL behaved abnormally when hundreds of threads are bound/unbound repeatedly. This fix clears out the per-thread state info when a thread is unbound from an EGL context. It allows EGL works normally when the thread is bound to the EGL context again

KINFRA-1019

Add support for init_with_now in alter/table add/change column

KINFRA-1019

Add tests for init_with_now for alter/table/columns

KINFRA-1019

Change init_with_now in-place

KINFRA-1021

Update get_set_sizes worker to use spare thread on retry

KINFRA-1031

Add executor enhancements/Fix filter crash - Added notifySchedulingComplete to executor to avoid race condition of all tasks completing prior to waiting on executor - Separated out failed and shutdown states in executor - Added ability to retrieve the first caught exception from an executor - Added check in thread executor to guard against outstanding items in the dtor - Made executors move constructable - Added createThreadPoolExecutor to Work

all_test.sh add --num-testers N for another layer of parallelism and --repeat M

KINFRA-1062

Update test_utils.py gen_set_id() to include the pid, test_plot2d_layer_order uses unique table names now

KINFRA-1065

Fix several projection low mem scenario crashes - WorkerUtil::sendRecv was not checking for errors in response messages thus ignoring the many response messages that reported 'exceeds capacity' - Fixed race condition in the tier mgrs where a thread incorrectly unlocked a tiered obj. Moved the isLocked check to be the first check instead of occurring after the 'exceeds capacity' check. - Changed proj reshard to use the number of toms from the Co

KINFRA-724

Fix gpudb_batch.py run error needing a thread global var defined

KINFRA-724

Update gpudb_sysinfo.sh backtrace to skip docker processes when running on host as they were dysfunctional

KINFRA-728

Change the replaceStrategyChainPtr function for tiered objects to be more generic

KINFRA-799

Set the column value to 0 for null values in create projection lead/lag window functions

KINFRA-838

Update fuzzer to generate same names and values for the same seed - Use gen_random_string vice GPUdbTable.prefix_name - Use the given seed as the cardinality seed

KINFRA-892

Add same stencil change for disk tiers

KINFRA-892

Fix 'm_stencil->capacity' error during rebalance - GaiaVector allocation is dependent on the current vector size as well as the new vector size. In this case the stencil had size N and capacity C, then was resized to N+1 and capacity C+1. However resizing an empty stencil to the same N+1 size resulted in capacity C2. Thus after reading from persist the m_capacity field was out of sync. Simply reset it after reading from persist

KINFRA-901

Fixed race condition in SetIndexedDb when loading and an eviction is in progress - Fix bug that lead to invalid/non-existent toc keys returning successfully

Add executor classes and integrate into workers - Workers use the thread pool executor by default unless executed synchronously - Retooled workers to run job cancellation and exceptions through the worker as work items to avoid race conditions in failure scenarios

KINFRA-979

Fix crash in tier unit tests - Need to initialize an executor in the TOM

KINFRA-979

Fix several scheduling bugs - Change scheduler to keep track of busy threads vice leveraging the idle count of the tbb queue due to race condition wherein there were no idle threads when the queue was queried but all threads became idle by the time the checking thread got back to the queue to pop. - Add better logging in Worker/Executor to track things by id - Changed executor logger to be Executor.*

KINFRA-992

Fix ability to cancel worker comms jobs - Leverage the new blocking executor instead of using the WorkerCommsHelper

Make EndpointDynamicSchemaUtils.cpp getRowValueUnsafe() safe by adding check error logs to protect against segfaults

KOLAP-1182

Add error bounds checks to Type::get_contained_shard_keys_of_joined_type. Add is_replcated vector to Type constructor to avoid classifying primary keys as shard keys - which was the cause of at least some bounds errors

Constants (for example 1) exported from JoinSet decorated as nvl2(1,nvl(,nvl(,/bin/bash))) - $<num> now accepted as DATA_TYPE_VOID and is only used to determine nullablility of column). Support for DATA_TYPE_VOID and VOID_DATATYPE added throughout