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

Reply via email to