[
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)