-
Bug
-
Resolution: Won't Do
-
Blocker
-
None
-
None
Background:
Narayana relies on the uniqueness of the node identifier it is configured with. The node identifier is encoded into the gtrid and bqual of the Xid that it generates. The byte length of an Xid is specificed in the XA specification and cannot be changed - with other data that must be encoded in the Xid, it leaves space for 23 bytes in the node identifier.
The node identifier (when the tech preview automated scale down transaction recovery facility is not enabled) will be coerced by OpenShift to fit this 23 byte limit. For all node names (even under 23 bytes) it will strip out the "-" character, then if the name is still over 23 bytes it will truncate from the back losing the first elements of the name (and relying on the uniqueness of the final suffix).
However, doing so may impact the uniqueness of this identifier. For example the two names would truncate to the same value aaa123456789012345678m0jwh and bbb123456789012345678m0jwh would both truncate to 123456789012345678m0jwh and thus break the uniqueness that the user is expected to respect. As another example: this-pod-is-m0jwh and thispod-is-m0jwhwould both be truncated to thispodism0jwh again breaking uniqueness.
It is the users responsibility to ensure that therefore that they do not configured the system in such a manner as that the prefix would result in more than 18 characters (less hyphens).
Solution:
Even given it is the users responsibility we should log something to make them aware when they breach this requirement.
Could we stop server start-up:
The user may not even be using XA in their application so failing start-up may not be desirable. It is worth noting that EAP historically has failed startup when the node was incorrectly configured.
- is related to
-
CLOUD-4173 The jboss.node.name property is incorrectly truncated
- New
-
JBEAP-24344 Node identifier cannot be longer than 23 characters
- Closed