[ 
https://issues.apache.org/jira/browse/IGNITE-27202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vyacheslav Koptilin updated IGNITE-27202:
-----------------------------------------
    Description: 
The following method always creates a new `TablePartitionId` instance in order 
to set up `commitPartitionId` for directly mapped transactions

 
{code:java}
    /**
     * Reads a transaction.
     *
     * @param in Unpacker.
     * @param tsUpdater Packer.
     * @param resources Resource registry.
     * @param txManager Tx manager.
     * @param notificationSender Notification sender.
     * @param resourceIdHolder Resource id holder.
     * @param options Request options. Defines how a request is processed.
     * @return Transaction, if present, or null.
     */
    public static @Nullable InternalTransaction readTx(
            ClientMessageUnpacker in,
            HybridTimestampTracker tsUpdater,
            ClientResourceRegistry resources,
            @Nullable TxManager txManager,
            @Nullable NotificationSender notificationSender,
            long[] resourceIdHolder,
            EnumSet<RequestOptions> options) { 
...
                InternalTransaction remote = txManager.beginRemote(txId, new 
TablePartitionId(commitTableId, commitPart),
                        coord, token, timeout, err -> {
                            // Will be called for write txns.
                            notificationSender.sendNotification(w -> 
w.packUuid(txId), err, NULL_HYBRID_TIMESTAMP);
                        });
...{code}
The main problem here is that `tableId` will be considered as `zoneId` when 
creating/writing a write intent,

 

 

 

  was:The following method always creates a new TablePartitionId instance in 
order to set up `commitPartitionId` 


> The commit partition ID for directly mapped transactions must not reference a 
> TablePartitionId.
> -----------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-27202
>                 URL: https://issues.apache.org/jira/browse/IGNITE-27202
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Vyacheslav Koptilin
>            Assignee: Vyacheslav Koptilin
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.2
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The following method always creates a new `TablePartitionId` instance in 
> order to set up `commitPartitionId` for directly mapped transactions
>  
> {code:java}
>     /**
>      * Reads a transaction.
>      *
>      * @param in Unpacker.
>      * @param tsUpdater Packer.
>      * @param resources Resource registry.
>      * @param txManager Tx manager.
>      * @param notificationSender Notification sender.
>      * @param resourceIdHolder Resource id holder.
>      * @param options Request options. Defines how a request is processed.
>      * @return Transaction, if present, or null.
>      */
>     public static @Nullable InternalTransaction readTx(
>             ClientMessageUnpacker in,
>             HybridTimestampTracker tsUpdater,
>             ClientResourceRegistry resources,
>             @Nullable TxManager txManager,
>             @Nullable NotificationSender notificationSender,
>             long[] resourceIdHolder,
>             EnumSet<RequestOptions> options) { 
> ...
>                 InternalTransaction remote = txManager.beginRemote(txId, new 
> TablePartitionId(commitTableId, commitPart),
>                         coord, token, timeout, err -> {
>                             // Will be called for write txns.
>                             notificationSender.sendNotification(w -> 
> w.packUuid(txId), err, NULL_HYBRID_TIMESTAMP);
>                         });
> ...{code}
> The main problem here is that `tableId` will be considered as `zoneId` when 
> creating/writing a write intent,
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to