[ 
https://issues.apache.org/jira/browse/IGNITE-28897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18138093#comment-18138093
 ] 

Ignite TC Bot commented on IGNITE-28897:
----------------------------------------

{panel:title=Branch: [pull/13673/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/13673/head] Base: [master] : New Tests 
(378)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Cache 4{color} [[tests 
378|https://ci2.ignite.apache.org/viewLog.html?buildId=9469920]]
* {color:#013220}IgniteCacheTestSuite4: 
CacheVersionedEntryTransactionalLockTest.testAllOrNothingWaitsForPrimaryUnlock[useNearCache=false,
 backups=0, replicated=false, batch=false] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite4: 
CacheVersionedEntryTransactionalLockTest.testAllOrNothingWaitsForPrimaryAcknowledgement[useNearCache=false,
 backups=0, replicated=false, batch=false] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite4: 
CacheVersionedEntryTransactionalLockTest.testVersionedEntryLockAfterRepeatableRead[useNearCache=false,
 backups=0, replicated=false, batch=false] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite4: 
CacheVersionedEntryTransactionalLockTest.testVersionChangedWhileWaiting[useNearCache=false,
 backups=0, replicated=false, batch=false] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite4: 
CacheVersionedEntryTransactionalLockTest.testAllOrNothingUnlockTimeout[useNearCache=false,
 backups=0, replicated=false, batch=false] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite4: 
CacheVersionedEntryTransactionalLockTest.testAllOrNothingWaitsForPrimaryAcknowledgement[useNearCache=false,
 backups=0, replicated=false, batch=true] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite4: 
CacheVersionedEntryTransactionalLockTest.testForcedRollbackDuringUnlock[useNearCache=false,
 backups=0, replicated=false, batch=false] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite4: 
CacheVersionedEntryTransactionalLockTest.testVersionUnchangedAfterWaiting[useNearCache=false,
 backups=0, replicated=false, batch=false] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite4: 
CacheVersionedEntryTransactionalLockTest.testAllOrNothingVersionMismatch[useNearCache=false,
 backups=0, replicated=false, batch=false] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite4: 
CacheVersionedEntryTransactionalLockTest.testVersionProtectedBeforeReply[useNearCache=false,
 backups=0, replicated=false, batch=false] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite4: 
CacheVersionedEntryTransactionalLockTest.testAllOrNothingLockConflict[useNearCache=false,
 backups=0, replicated=false, batch=false] - PASSED{color}
... and 367 new tests

{panel}
[TeamCity *--> Run :: All* 
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=9470055&buildTypeId=IgniteTests24Java8_RunAll]
{color:#ffffff}tcbot-analysis-comment chainBuildId=9470055 
rerunBuildIds=9470249,9470251,9470253,9470255,9470257{color}

> Return detailed result from transactional lock internal API
> -----------------------------------------------------------
>
>                 Key: IGNITE-28897
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28897
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vladislav Pyatkov
>            Assignee: Vladislav Pyatkov
>            Priority: Major
>              Labels: ignite-2
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> Change the behavior of lockTxEntry, lockTxEntries, and the async* variants: 
> instead of `boolean` they have to return Map<CacheEntry<K, V>, Boolean>.
> * Return Map<CacheEntry<K, V>, Boolean> with an outcome for each entry.
> * Send expected versions to primary nodes.
> * Validate each version on the primary.
> * Return false for lock conflicts or version mismatches.
> * Return true for locks already held by the transaction.
> * Preserve existing timeout semantics.
> h3. Definition of done
> * Cover partial success, repeated acquisition, near caches, timeouts, and 
> batched requests with tests.
> * All existing SELECT FOR UPDATE tests pass.
> Proposed internal API:
> {code:java}
> /**
>  * @return Lock result for each supplied entry, in input iteration order.
> */
> public Map<CacheEntry<K, V>, Boolean> lockTxEntries(Collection<CacheEntry<K, 
> V>> entries, long waitTimeout)
> /**
>  * Asynchronous counterpart of {@link #lockTxEntries(Collection, long)} with 
> the same partial-success semantics.
>  * @return Future containing a lock result for each supplied entry.
> */
> public IgniteInternalFuture<Map<CacheEntry<K, V>, Boolean>> 
> lockTxEntriesAsync(Collection<CacheEntry<K, V>> entries, long waitTimeout);
> {code}



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to