[core] Store Internal Config in GCS#8921
Conversation
|
Test FAILed. |
|
Can one of the admins verify this patch? |
|
Test FAILed. |
|
Test FAILed. |
|
@ijrsvt Can you write some integration tests? |
python/ray/node.py
Outdated
| logger.error( | ||
| "Internal Config parameters can only be set on the head " | ||
| "node. NOTE, this include lru_evict.") | ||
| self._config == str(dict()) |
There was a problem hiding this comment.
Why not just raising errors?
There was a problem hiding this comment.
Yeah, we should just be raising an error here.
Also, lru_evict isn't an internal config parameter from the user's perspective so we shouldn't mention it in the error message. The user should just know they can't pass internal_config=XXX when starting a non-head node.
There was a problem hiding this comment.
But lru_evict does modify internal_config parameters--how should that be handled?
There was a problem hiding this comment.
I'd just have a separate check for lru_evict flag - if it's set and not head raise an error that says lru_evict can only be set on head node
There was a problem hiding this comment.
I just added it to the massive check block in worker.py
|
Test FAILed. |
|
Test FAILed. |
|
Can you add some description to this PR |
| } | ||
| }; | ||
|
|
||
| class GcsInternalConfigTable : public GcsTable<UniqueID, StoredConfig> { |
There was a problem hiding this comment.
How about create a kV table? Both key and value type are string. There are other scenarios that need to use it, such as saving GCS server address. The GcsKVTable can use StoreClient directly.
There was a problem hiding this comment.
This is probably a good idea but not sure it should be a blocker for this PR
edoakes
left a comment
There was a problem hiding this comment.
Nice work! Comments are basically all about style, nothing too major.
python/ray/node.py
Outdated
| logger.error( | ||
| "Internal Config parameters can only be set on the head " | ||
| "node. NOTE, this include lru_evict.") | ||
| self._config == str(dict()) |
There was a problem hiding this comment.
Yeah, we should just be raising an error here.
Also, lru_evict isn't an internal config parameter from the user's perspective so we shouldn't mention it in the error message. The user should just know they can't pass internal_config=XXX when starting a non-head node.
Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
|
@rkooo567 I actually just added to |
|
Test FAILed. |
|
Test FAILed. |
|
Test FAILed. |
|
Thanks @kisuke95 for all the help! |
|
Test FAILed. |
|
@ijrsvt My pleasure. |
|
Test PASSed. |
|
Test PASSed. |
|
Test PASSed. |
|
Test FAILed. |
|
Test FAILed. |
Why are these changes needed?
This stores a single Internal Config for the entire cluster in GCS. This removes the need for specifying the config on every subsequent node that is added.
Related issue number
Checks
scripts/format.shto lint the changes in this PR.