Skip to content

[Bug] Overlook fallback when data-flush event enters into pending queue #380

@zuston

Description

@zuston

Code of Conduct

Search before asking

  • I have searched in the issues and found no similar issues.

Describe the bug

When using the storage type of MEMORY_LOCALFILE_HDFS and enable the fallback strategy of LocalStorageManagerFallbackStrategy, it will still fail when one disk reached high watermark.

After digging into the code, I found it is caused by the cache in MultiStorageManager when invoking the selectStorage in the method of ShuffleFlushManager.processPendingEvents, that make it lost the chance to use the fallback.

But after removing this cache, I still found it still fail, because this pending event's retries time always=0, so it will make fallback failed.

So I rethink this pending queue. Do we really need this in multiple storage? I think perhaps not, we could remove this pending queue mechanism when multiple storage manager is enabled. Of course, it's still meaningful for single storage manager.

Affects Version(s)

master

Uniffle Server Log Output

No response

Uniffle Engine Log Output

No response

Uniffle Server Configurations

No response

Uniffle Engine Configurations

No response

Additional context

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions