Building with CMake3 is now supported by the compile-cluster script included in the
NDB
source distribution. (WL #12303)
Important Change: The dependency of ndb_restore on the
NDBT
library, which is used for internal testing only, has been removed. This means that the program no longer printsNDBT_ProgramExit: ...
when terminating. Applications that depend upon this behavior should be updated to reflect this change when upgrading to this release. (WL #13117)A pushed join with
ORDER BY
did not always return the rows of the result in the specified order. This could occur when the optimizer used an ordered index to provide the ordering and the index used a column from the table that served as the root of the pushed join. (Bug #29860378)The
requestInfo
fields for the long and short forms of theLQHKEYREQ
signal had different definitions; bits used for the key length in the short version were reused for flags in the long version, since the key length is implicit in the section length of the long version of the signal but it was possible for longLQHKEYREQ
signals to contain a keylength in these same bits, which could be misinterpreted by the receiving local query handler, potentially leading to errors. Checks have now been implemented to make sure that this no longer happens. (Bug #29820838)-
Lack of
SharedGlobalMemory
was incorrectly reported as lack of undo buffer memory, even though the cluster used no disk data tables. (Bug #29806771)References: This issue is a regression of: Bug #92125, Bug #28537319.
Long
TCKEYREQ
signals did not always use the expected format when invoked fromTCINDXREQ
processing. (Bug #29772731)Improved error message printed when the maximum offset for a
FIXED
column is exceeded. (Bug #29714670)Data nodes could fail due to an assert in the
DBTC
block under certain circumstances in resource-constrained environments. (Bug #29528188)An upgrade to NDB 7.6.9 or later from an earlier version could not be completed successfully if the redo log was filled to more than 25% of capacity. (Bug #29506844)
-
When the
DBSPJ
block called the internal functionlookup_resume()
to schedule a previously enqueued operation, it used a correlation ID which could have been produced from its immediate ancestor in the execution order, and not its parent in the query tree as assumed. This could happen during execution of aSELECT STRAIGHT_JOIN
query.Now
NDB
checks whether the execution ancestor is different from the query tree parent, and if not, performs a lookup of the query tree parent, and the parent's correlation ID is enqueued to be executed later. (Bug #29501263) When a new master took over, sending a
MASTER_LCP_REQ
signal and executingMASTER_LCPCONF
from participating nodes, it expected that they had not completed the current local checkpoint under the previous master, which need not be true. (Bug #29487340, Bug #29601546)When restoring
TINYBLOB
columns, ndb_restore now treats them as having theBINARY
character set. (Bug #29486538)Restoration of epochs by ndb_restore failed due to temporary redo errors. Now ndb_restore retries epoch updates when such errors occur. (Bug #29466089)
ndb_restore
--restore-epoch
incorrectly reported the stop GCP as 1 less than the actual position. (Bug #29343655)-
Added support which was missing in ndb_restore for conversions between the following sets of types:
(Bug #28074988)