Skip to content
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

[CELEBORN-1607] Enable useEnumCaseInsensitive for openapi-generator #2754

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -425,11 +425,11 @@ object ControlMessages extends Logging {
object WorkerEventRequest {
def apply(
workers: util.List[WorkerInfo],
eventType: String,
eventType: WorkerEventType,
requestId: String): PbWorkerEventRequest =
PbWorkerEventRequest.newBuilder()
.setRequestId(requestId)
.setWorkerEventType(WorkerEventType.valueOf(eventType))
.setWorkerEventType(eventType)
.addAllWorkers(workers.asScala.map { workerInfo =>
PbSerDeUtils.toPbWorkerInfo(workerInfo, true, false)
}.toList.asJava)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1218,7 +1218,7 @@ private[celeborn] class Master(
}

override def handleWorkerEvent(
workerEventType: String,
workerEventType: WorkerEventType,
workers: Seq[WorkerInfo]): HandleResponse = {
val sb = new StringBuilder()
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import io.swagger.v3.oas.annotations.tags.Tag
import org.apache.commons.lang3.StringUtils

import org.apache.celeborn.common.meta.WorkerInfo
import org.apache.celeborn.common.protocol.WorkerEventType
import org.apache.celeborn.server.common.http.api.ApiRequestContext

@Tag(name = "Deprecated")
Expand Down Expand Up @@ -136,7 +137,9 @@ class ApiMasterResource extends ApiRequestContext {
}
sb.append("============================ Handle Worker Event =============================\n")
val workerList = workers.split(",").filter(_.nonEmpty).map(WorkerInfo.fromUniqueId)
sb.append(httpService.handleWorkerEvent(normalizeParam(eventType), workerList)._2)
sb.append(httpService.handleWorkerEvent(
WorkerEventType.valueOf(normalizeParam(eventType)),
workerList)._2)
sb.toString()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ import io.swagger.v3.oas.annotations.media.{Content, Schema}
import io.swagger.v3.oas.annotations.responses.ApiResponse
import io.swagger.v3.oas.annotations.tags.Tag

import org.apache.celeborn.common.protocol.WorkerEventType
import org.apache.celeborn.rest.v1.model._
import org.apache.celeborn.rest.v1.model.SendWorkerEventRequest.EventTypeEnum
import org.apache.celeborn.server.common.http.api.ApiRequestContext
import org.apache.celeborn.server.common.http.api.v1.ApiUtils
import org.apache.celeborn.service.deploy.master.Master
Expand Down Expand Up @@ -137,7 +139,8 @@ class WorkerResource extends ApiRequestContext {
throw new BadRequestException(
s"None of the workers are known: ${unknownWorkers.map(_.readableAddress).mkString(", ")}")
}
val (success, msg) = httpService.handleWorkerEvent(request.getEventType.toString, workers)
val (success, msg) =
httpService.handleWorkerEvent(toWorkerEventType(request.getEventType), workers)
val finalMsg =
if (unknownWorkers.isEmpty) {
msg
Expand All @@ -146,4 +149,16 @@ class WorkerResource extends ApiRequestContext {
}
new HandleResponse().success(success).message(finalMsg)
}

private def toWorkerEventType(enum: EventTypeEnum): WorkerEventType = {
enum match {
case EventTypeEnum.NONE => WorkerEventType.None
case EventTypeEnum.IMMEDIATELY => WorkerEventType.Immediately
case EventTypeEnum.DECOMMISSION => WorkerEventType.Decommission
case EventTypeEnum.DECOMMISSIONTHENIDLE => WorkerEventType.DecommissionThenIdle
case EventTypeEnum.GRACEFUL => WorkerEventType.Graceful
case EventTypeEnum.RECOMMISSION => WorkerEventType.Recommission
case _ => WorkerEventType.UNRECOGNIZED
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ class ApiV1MasterResourceSuite extends ApiV1BaseResourceSuite {
Entity.entity(sendWorkerEventRequest, MediaType.APPLICATION_JSON))
assert(HttpServletResponse.SC_BAD_REQUEST == response.getStatus)
assert(
response.readEntity(classOf[String]).contains("eventType(None) and workers([]) are required"))
response.readEntity(classOf[String]).contains("eventType(NONE) and workers([]) are required"))
sendWorkerEventRequest.workers(Collections.singletonList(worker))
response = webTarget.path("workers/events").request(MediaType.APPLICATION_JSON).post(
Entity.entity(sendWorkerEventRequest, MediaType.APPLICATION_JSON))
Expand Down
2 changes: 2 additions & 0 deletions openapi/openapi-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@
<hideGenerationTimestamp>true</hideGenerationTimestamp>
<supportUrlQuery>false</supportUrlQuery>
<annotationLibrary>none</annotationLibrary>
<useEnumCaseInsensitive>true</useEnumCaseInsensitive>
</configOptions>
</configuration>
</execution>
Expand Down Expand Up @@ -278,6 +279,7 @@
<hideGenerationTimestamp>true</hideGenerationTimestamp>
<supportUrlQuery>false</supportUrlQuery>
<annotationLibrary>none</annotationLibrary>
<useEnumCaseInsensitive>true</useEnumCaseInsensitive>
</configOptions>
</configuration>
</execution>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public String toString() {
@JsonCreator
public static LevelEnum fromValue(String value) {
for (LevelEnum b : LevelEnum.values()) {
if (b.value.equals(value)) {
if (b.value.equalsIgnoreCase(value)) {
return b;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ public String toString() {
@JsonCreator
public static ModeEnum fromValue(String value) {
for (ModeEnum b : ModeEnum.values()) {
if (b.value.equals(value)) {
if (b.value.equalsIgnoreCase(value)) {
return b;
}
}
Expand Down Expand Up @@ -123,7 +123,7 @@ public String toString() {
@JsonCreator
public static StorageEnum fromValue(String value) {
for (StorageEnum b : StorageEnum.values()) {
if (b.value.equals(value)) {
if (b.value.equalsIgnoreCase(value)) {
return b;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,17 @@ public class SendWorkerEventRequest {
* The type of the event.
*/
public enum EventTypeEnum {
IMMEDIATELY("Immediately"),
IMMEDIATELY("IMMEDIATELY"),

DECOMMISSION("Decommission"),
DECOMMISSION("DECOMMISSION"),

DECOMMISSION_THEN_IDLE("DecommissionThenIdle"),
DECOMMISSIONTHENIDLE("DECOMMISSIONTHENIDLE"),

GRACEFUL("Graceful"),
GRACEFUL("GRACEFUL"),

RECOMMISSION("Recommission"),
RECOMMISSION("RECOMMISSION"),

NONE("None");
NONE("NONE");

private String value;

Expand All @@ -76,7 +76,7 @@ public String toString() {
@JsonCreator
public static EventTypeEnum fromValue(String value) {
for (EventTypeEnum b : EventTypeEnum.values()) {
if (b.value.equals(value)) {
if (b.value.equalsIgnoreCase(value)) {
return b;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@ public class WorkerExitRequest {
* The type of the worker exit request.
*/
public enum TypeEnum {
DECOMMISSION("Decommission"),
DECOMMISSION("DECOMMISSION"),

GRACEFUL("Graceful"),
GRACEFUL("GRACEFUL"),

IMMEDIATELY("Immediately"),
IMMEDIATELY("IMMEDIATELY"),

NONE("None");
NONE("NONE");

private String value;

Expand All @@ -67,7 +67,7 @@ public String toString() {
@JsonCreator
public static TypeEnum fromValue(String value) {
for (TypeEnum b : TypeEnum.values()) {
if (b.value.equals(value)) {
if (b.value.equalsIgnoreCase(value)) {
return b;
}
}
Expand Down
12 changes: 6 additions & 6 deletions openapi/openapi-client/src/main/openapi3/master_rest_v1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -706,12 +706,12 @@ components:
type: string
description: The type of the event.
enum:
- Immediately
- Decommission
- DecommissionThenIdle
- Graceful
- Recommission
- None
- IMMEDIATELY
- DECOMMISSION
- DECOMMISSIONTHENIDLE
- GRACEFUL
- RECOMMISSION
- NONE
workers:
type: array
description: The workers to send the event.
Expand Down
10 changes: 5 additions & 5 deletions openapi/openapi-client/src/main/openapi3/worker_rest_v1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -602,13 +602,13 @@ components:
properties:
type:
type: string
default: None
default: NONE
description: The type of the worker exit request.
enum:
- Decommission
- Graceful
- Immediately
- None
- DECOMMISSION
- GRACEFUL
- IMMEDIATELY
- NONE

HandleResponse:
type: object
Expand Down
1 change: 1 addition & 0 deletions project/CelebornBuild.scala
Original file line number Diff line number Diff line change
Expand Up @@ -1364,6 +1364,7 @@ object CelebornOpenApi {
"supportUrlQuery" -> "false",
"annotationLibrary" -> "none",
"templateDir" -> s"$openApiSpecDir/templates",
"useEnumCaseInsensitive" -> "true"
)
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import org.eclipse.jetty.servlet.FilterHolder
import org.apache.celeborn.common.CelebornConf
import org.apache.celeborn.common.internal.Logging
import org.apache.celeborn.common.meta.WorkerInfo
import org.apache.celeborn.common.protocol.TransportModuleConstants
import org.apache.celeborn.common.protocol.{TransportModuleConstants, WorkerEventType}
import org.apache.celeborn.common.util.Utils
import org.apache.celeborn.server.common.http.HttpServer
import org.apache.celeborn.server.common.http.api.ApiRootResource
Expand Down Expand Up @@ -187,7 +187,9 @@ abstract class HttpService extends Service with Logging {

def exit(exitType: String): String = throw new UnsupportedOperationException()

def handleWorkerEvent(workerEventType: String, workers: Seq[WorkerInfo]): HandleResponse =
def handleWorkerEvent(
workerEventType: WorkerEventType,
workers: Seq[WorkerInfo]): HandleResponse =
throw new UnsupportedOperationException()

def getWorkerEventInfo(): String = throw new UnsupportedOperationException()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ class ApiV1OpenapiClientSuite extends ApiV1WorkerOpenapiClientSuite {

handleResponse = api.sendWorkerEvent(
new SendWorkerEventRequest().addWorkersItem(workerId).eventType(
EventTypeEnum.DECOMMISSION_THEN_IDLE))
EventTypeEnum.DECOMMISSIONTHENIDLE))
assert(handleResponse.getSuccess)

assert(!api.getWorkerEvents.getWorkerEvents.isEmpty)
Expand Down
Loading