You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Anton Vinogradov (Jira)" <ji...@apache.org> on 2026/07/14 16:32:00 UTC
[jira] [Commented] (IGNITE-28356) Use @Order for GridDhtLockRequest#owned, TxLocksRequest#txKeys, GridNearGetRequest#keyMap
[ https://issues.apache.org/jira/browse/IGNITE-28356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18096238#comment-18096238 ]
Anton Vinogradov commented on IGNITE-28356:
-------------------------------------------
Status update after IGNITE-28520 (@Order codegen, PR #13095).
1) GridDhtLockRequest#owned — DONE in #13095, in a stronger form than requested here.
The field turned out to be dead: it was write-only on this message. The only consumer,
tx.ownedVersions(req.owned()), is fed from the GridDhtTxPrepareRequest path (which keeps
the data via @MarshalledMap); the GridDhtLockRequest receiver (startRemoteTx) never read it.
So instead of migrating it to @Order, the field was removed together with #ownedKeys and
#ownedValues.
2) TxLocksRequest#txKeys — still open. Currently @MarshalledCollection("txKeysArr") with the
companion array. Since IgniteTxKey implements Message, this becomes a plain
@Order(1) Set<IgniteTxKey> txKeys and #txKeysArr can be dropped entirely — the serializer
already writes a collection of messages directly (see GridContinuousMessage#msgs,
@Order Collection<Message>, no companion field).
3) GridNearGetRequest#keyMap — still open. #keys + #readersFlags and the manual conversion
(both the marshal-side loop and the lazy keyMap() rebuild) can be replaced by a single
@Order LinkedHashMap<KeyCacheObject, Boolean> keyMap: maps are serialized natively by @Order
(see QueryEntityMessage, @Order LinkedHashMap<String, String>).
Items 2 and 3 are wire-format changes and become trivial once #13095 lands, so I'll do them
in a separate follow-up PR on top of it rather than growing #13095 (which is already under
active review). Both are net code removals: the companion fields and the conversion logic go away.
> Use @Order for GridDhtLockRequest#owned, TxLocksRequest#txKeys, GridNearGetRequest#keyMap
> -----------------------------------------------------------------------------------------
>
> Key: IGNITE-28356
> URL: https://issues.apache.org/jira/browse/IGNITE-28356
> Project: Ignite
> Issue Type: Task
> Reporter: Ilya Shishkov
> Assignee: Anton Vinogradov
> Priority: Minor
> Labels: IEP-132, ise
> Fix For: 2.19
>
> Time Spent: 13.5h
> Remaining Estimate: 0h
>
> GridDhtLockRequest#owned
> And remove #ownedKeys && #ownedValues.
>
> TxLocksRequest#txKeys
> And remove TxLocksRequest#txKeysArr
>
> GridNearGetRequest#keyMap
> Both #keys && #readersFlags can be replaced with linked map #keyMap. Logic of conversion should be removed.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)