-
Notifications
You must be signed in to change notification settings - Fork 26
oom related bug fix #97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
c69805c
change the resume logic
BinHuangPJLAB 84f739e
add resume clean files root to guarantee the right cleanup
BinHuangPJLAB 1d49804
clean the data in memory after the session closed to avoid oom
BinHuangPJLAB e2b7c91
add async queue for reward upsert
BinHuangPJLAB 30abb54
code clean
BinHuangPJLAB fafe849
improve resume clean up to avoid deleting unstarting task
BinHuangPJLAB 4fda1b4
delete the sessions read which will cost too much memory
BinHuangPJLAB File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀 Performance & Scalability | 🟠 Major | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: AI45Lab/SAfactory
Length of output: 544
🏁 Script executed:
Repository: AI45Lab/SAfactory
Length of output: 24887
🏁 Script executed:
Repository: AI45Lab/SAfactory
Length of output: 14987
🌐 Web query:
site:github.com/AI45Lab/wt-data-platform-sdk WTGatewayClient query_data limit None💡 Result:
<search_synthesis>
In the context of the WTGatewayClient found in the
ai45lab/wt-data-platform-sdkrepository, thequery_datamethod is used for retrieving data [1]. While the SDK documentation does not explicitly detail alimit=Noneparameter in its common public-facing snippets, standard Python library practices—and the nature of such client SDKs—suggest that passingNoneto alimitargument typically disables pagination or row-capping, allowing the client to attempt to fetch the full result set available from the underlying source [1]. For users of thewt-data-platform-sdk, it is important to note thatquery_data()omits null table columns by default [1]. If your data retrieval requires retaining these null values, you should passexclude_none=Falseto the method [1]. If you are encountering unexpected behavior usinglimit=None, please ensure you are referencing the specific version of the SDK installed in your environment, as internal API behaviors can vary between package iterations. Always consult the library's local help output usinghelp(WTGatewayClient.query_data)in your Python environment for the most accurate, version-specific signature.</search_synthesis>
<source_evidence>
Citations:
🏁 Script executed:
Repository: AI45Lab/SAfactory
Length of output: 471
🏁 Script executed:
Repository: AI45Lab/SAfactory
Length of output: 620
🏁 Script executed:
Repository: AI45Lab/SAfactory
Length of output: 15246
🏁 Script executed:
Repository: AI45Lab/SAfactory
Length of output: 9646
🏁 Script executed:
Repository: AI45Lab/SAfactory
Length of output: 3609
Avoid materializing all matching IDs during the delete preflight.
WTGatewayClient.query_datapasseslimit=Noneto_filter_table, receives aDataFrame, converts it to aList[Dict[str, Any]], and returns only after the full result is materialized._row_countruns after this return, so a large job loads every matching ID before counting and can exhaust memory. Use a server-side filtered count or bounded pagination/streaming count instead.🤖 Prompt for AI Agents