mirror of
https://github.com/wassname/ray.git
synced 2026-07-19 11:27:32 +08:00
[Placement Group] Add get / get all / remove interface for Placement Group Java api. (#11821)
* add placement group java get/get all interface * add remove placement group api * fix some issue like: Placement Group -> placement group * extract dumplicate code to placement group utils * specify running mode for placement group ut * update checkGlobalStateAccessorPointerValid -> validateGlobalStateAccessorPointer * use THROW_EXCEPTION_AND_RETURN_IF_NOT_OK * update pg log print
This commit is contained in:
@@ -129,6 +129,32 @@ Java_io_ray_runtime_gcs_GlobalStateAccessor_nativeGetActorCheckpointId(
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
JNIEXPORT jbyteArray JNICALL
|
||||
Java_io_ray_runtime_gcs_GlobalStateAccessor_nativeGetPlacementGroupInfo(
|
||||
JNIEnv *env, jobject o, jlong gcs_accessor_ptr, jbyteArray placement_group_id_bytes) {
|
||||
const auto placement_group_id =
|
||||
JavaByteArrayToId<ray::PlacementGroupID>(env, placement_group_id_bytes);
|
||||
auto *gcs_accessor =
|
||||
reinterpret_cast<ray::gcs::GlobalStateAccessor *>(gcs_accessor_ptr);
|
||||
auto placement_group = gcs_accessor->GetPlacementGroupInfo(placement_group_id);
|
||||
if (placement_group) {
|
||||
return NativeStringToJavaByteArray(env, *placement_group);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_io_ray_runtime_gcs_GlobalStateAccessor_nativeGetAllPlacementGroupInfo(
|
||||
JNIEnv *env, jobject o, jlong gcs_accessor_ptr) {
|
||||
auto *gcs_accessor =
|
||||
reinterpret_cast<ray::gcs::GlobalStateAccessor *>(gcs_accessor_ptr);
|
||||
auto placement_group_info_list = gcs_accessor->GetAllPlacementGroupInfo();
|
||||
return NativeVectorToJavaList<std::string>(
|
||||
env, placement_group_info_list, [](JNIEnv *env, const std::string &str) {
|
||||
return NativeStringToJavaByteArray(env, str);
|
||||
});
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -112,6 +112,26 @@ JNIEXPORT jbyteArray JNICALL
|
||||
Java_io_ray_runtime_gcs_GlobalStateAccessor_nativeGetActorCheckpointId(JNIEnv *, jobject,
|
||||
jlong, jbyteArray);
|
||||
|
||||
/*
|
||||
* Class: io_ray_runtime_gcs_GlobalStateAccessor
|
||||
* Method: nativeGetPlacementGroupInfo
|
||||
* Signature: (J[B)[B
|
||||
*/
|
||||
JNIEXPORT jbyteArray JNICALL
|
||||
Java_io_ray_runtime_gcs_GlobalStateAccessor_nativeGetPlacementGroupInfo(JNIEnv *, jobject,
|
||||
jlong,
|
||||
jbyteArray);
|
||||
|
||||
/*
|
||||
* Class: io_ray_runtime_gcs_GlobalStateAccessor
|
||||
* Method: nativeGetAllPlacementGroupInfo
|
||||
* Signature: (J)Ljava/util/List;
|
||||
*/
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_io_ray_runtime_gcs_GlobalStateAccessor_nativeGetAllPlacementGroupInfo(JNIEnv *,
|
||||
jobject,
|
||||
jlong);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -283,6 +283,16 @@ Java_io_ray_runtime_task_NativeTaskSubmitter_nativeCreatePlacementGroup(
|
||||
return IdToJavaByteArray<ray::PlacementGroupID>(env, placement_group_id);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_io_ray_runtime_task_NativeTaskSubmitter_nativeRemovePlacementGroup(
|
||||
JNIEnv *env, jclass p, jbyteArray placement_group_id_bytes) {
|
||||
const auto placement_group_id =
|
||||
JavaByteArrayToId<ray::PlacementGroupID>(env, placement_group_id_bytes);
|
||||
auto status =
|
||||
ray::CoreWorkerProcess::GetCoreWorker().RemovePlacementGroup(placement_group_id);
|
||||
THROW_EXCEPTION_AND_RETURN_IF_NOT_OK(env, status, (void)0);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -62,6 +62,15 @@ Java_io_ray_runtime_task_NativeTaskSubmitter_nativeCreatePlacementGroup(JNIEnv *
|
||||
jstring, jobject,
|
||||
jint);
|
||||
|
||||
/*
|
||||
* Class: io_ray_runtime_task_NativeTaskSubmitter
|
||||
* Method: nativeRemovePlacementGroup
|
||||
* Signature: ([B)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL
|
||||
Java_io_ray_runtime_task_NativeTaskSubmitter_nativeRemovePlacementGroup(JNIEnv *, jclass,
|
||||
jbyteArray);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -225,9 +225,8 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
|
||||
java_placement_group_class =
|
||||
LoadClass(env, "io/ray/runtime/placementgroup/PlacementGroupImpl");
|
||||
java_placement_group_id =
|
||||
env->GetFieldID(java_placement_group_class, "id",
|
||||
"Lio/ray/runtime/placementgroup/PlacementGroupId;");
|
||||
java_placement_group_id = env->GetFieldID(java_placement_group_class, "id",
|
||||
"Lio/ray/api/id/PlacementGroupId;");
|
||||
|
||||
java_actor_creation_options_class =
|
||||
LoadClass(env, "io/ray/api/options/ActorCreationOptions");
|
||||
|
||||
Reference in New Issue
Block a user