[
https://issues.apache.org/jira/browse/IGNITE-27891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksey Plekhanov updated IGNITE-27891:
---------------------------------------
Ignite Flags: Release Notes Required (was: Docs Required,Release Notes
Required)
> Flaky MemoryQuotasIntegrationTest.testHashAggregateNode
> -------------------------------------------------------
>
> Key: IGNITE-27891
> URL: https://issues.apache.org/jira/browse/IGNITE-27891
> Project: Ignite
> Issue Type: Bug
> Reporter: Aleksey Plekhanov
> Assignee: Aleksey Plekhanov
> Priority: Major
> Labels: MakeTeamcityGreenAgain, calcite, ise
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> Test fails on TC with:
> {noformat}
> java.lang.AssertionError: Count of inboxes must be 0 after test
> [ignite=client] expected:<0> but was:<1>
> {noformat}
> Reason:
> Batch message for last query from one of the server nodes reaches the client
> node after client already receive an error message, close inbox and proceed
> to afterTest checks. New inbox is registered for this message and cleanup
> task is scheduled, but by this time afterTest already passes first inbox
> checks (with waiting) and fails on second inbox check (without waiting)
> Also, in rare cases, test fails with:
> {noformat}
> java.lang.AssertionError: Tracked memory must be 0 after test
> [ignite=integration.MemoryQuotasIntegrationTest0]
> Expected :0
> Actual :-65536
> {noformat}
> IReason:
> There can be a situation, when query fragment is executed concurrently with
> query close request. {{QueryCloseMessage}} is not {{ExecutionContextAware}},
> since it doesn't have the {{fragmentId}} field. So it can be executed on
> different thread with query fragment. If {{QueryMemoryTracker.reset()}}
> method is executed concurrently with quota exceeding
> {{QueryMemoryTracker.onMemoryAllocated}} race is possible. When {{allocated}}
> size is temprary incremented in {{onMemoryAllocated}}, it can be catched as
> {{wasAllocated}} and reported to parent tracker, but {{onMemoryAllocated}}
> not report allocated size to parent tracker due to quota exceeding.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)