Wenjun Ruan
2 years ago
committed by
GitHub
160 changed files with 2169 additions and 2397 deletions
@ -1,92 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.alert; |
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.any; |
|
||||||
import static org.mockito.ArgumentMatchers.anyInt; |
|
||||||
import static org.mockito.Mockito.doNothing; |
|
||||||
import static org.mockito.Mockito.mockStatic; |
|
||||||
import static org.mockito.Mockito.times; |
|
||||||
import static org.mockito.Mockito.verify; |
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.dao.PluginDao; |
|
||||||
import org.apache.dolphinscheduler.remote.NettyRemotingServer; |
|
||||||
import org.apache.dolphinscheduler.remote.factory.NettyRemotingServerFactory; |
|
||||||
|
|
||||||
import org.junit.jupiter.api.BeforeEach; |
|
||||||
import org.junit.jupiter.api.Test; |
|
||||||
import org.junit.jupiter.api.extension.ExtendWith; |
|
||||||
import org.mockito.InjectMocks; |
|
||||||
import org.mockito.Mock; |
|
||||||
import org.mockito.MockedStatic; |
|
||||||
import org.mockito.Mockito; |
|
||||||
import org.mockito.Spy; |
|
||||||
import org.mockito.junit.jupiter.MockitoExtension; |
|
||||||
|
|
||||||
@ExtendWith(MockitoExtension.class) |
|
||||||
public class AlertServerTest { |
|
||||||
|
|
||||||
@Mock |
|
||||||
private PluginDao pluginDao; |
|
||||||
|
|
||||||
@Mock |
|
||||||
private AlertConfig alertConfig; |
|
||||||
|
|
||||||
@Mock |
|
||||||
private AlertSenderService alertSenderService; |
|
||||||
|
|
||||||
@Mock |
|
||||||
private NettyRemotingServer nettyRemotingServer; |
|
||||||
|
|
||||||
@InjectMocks |
|
||||||
@Spy |
|
||||||
private AlertServer alertServer; |
|
||||||
|
|
||||||
@BeforeEach |
|
||||||
void init() { |
|
||||||
Mockito.lenient().when(pluginDao.checkPluginDefineTableExist()).thenReturn(true); |
|
||||||
|
|
||||||
Mockito.lenient().when(alertConfig.getPort()).thenReturn(50052); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
public void alertServerRunSuccessfully() { |
|
||||||
doNothing().when(alertServer).checkTable(); |
|
||||||
doNothing().when(alertServer).startServer(); |
|
||||||
|
|
||||||
alertServer.run(null); |
|
||||||
|
|
||||||
Mockito.verify(alertServer, times(1)).checkTable(); |
|
||||||
Mockito.verify(alertServer, times(1)).startServer(); |
|
||||||
Mockito.verify(alertSenderService, times(1)).start(); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
public void alertServerServerStartWithExpectedListeningPort() { |
|
||||||
try ( |
|
||||||
MockedStatic<NettyRemotingServerFactory> mockedNettyRemotingServerFactory = |
|
||||||
mockStatic(NettyRemotingServerFactory.class)) { |
|
||||||
mockedNettyRemotingServerFactory.when(() -> NettyRemotingServerFactory.buildNettyRemotingServer(anyInt())) |
|
||||||
.thenReturn(nettyRemotingServer); |
|
||||||
alertServer.startServer(); |
|
||||||
mockedNettyRemotingServerFactory.verify(() -> NettyRemotingServerFactory.buildNettyRemotingServer(50052)); |
|
||||||
verify(nettyRemotingServer, times(1)).registerProcessor(any(), any()); |
|
||||||
verify(nettyRemotingServer, times(1)).start(); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,60 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.alert.processor; |
|
||||||
|
|
||||||
import static org.mockito.Mockito.mock; |
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.alert.AlertRequestProcessor; |
|
||||||
import org.apache.dolphinscheduler.alert.AlertSenderService; |
|
||||||
import org.apache.dolphinscheduler.common.enums.WarningType; |
|
||||||
import org.apache.dolphinscheduler.remote.command.Command; |
|
||||||
import org.apache.dolphinscheduler.remote.command.CommandType; |
|
||||||
import org.apache.dolphinscheduler.remote.command.alert.AlertSendRequestCommand; |
|
||||||
import org.apache.dolphinscheduler.remote.command.alert.AlertSendResponseCommand; |
|
||||||
|
|
||||||
import org.junit.jupiter.api.Assertions; |
|
||||||
import org.junit.jupiter.api.Test; |
|
||||||
import org.junit.jupiter.api.extension.ExtendWith; |
|
||||||
import org.mockito.InjectMocks; |
|
||||||
import org.mockito.Mock; |
|
||||||
import org.mockito.Mockito; |
|
||||||
import org.mockito.junit.jupiter.MockitoExtension; |
|
||||||
|
|
||||||
import io.netty.channel.Channel; |
|
||||||
|
|
||||||
@ExtendWith(MockitoExtension.class) |
|
||||||
public class AlertRequestProcessorTest { |
|
||||||
|
|
||||||
@InjectMocks |
|
||||||
private AlertRequestProcessor alertRequestProcessor; |
|
||||||
|
|
||||||
@Mock |
|
||||||
private AlertSenderService alertSenderService; |
|
||||||
|
|
||||||
@Test |
|
||||||
public void testProcess() { |
|
||||||
Mockito.when(alertSenderService.syncHandler(1, "title", "content", WarningType.FAILURE.getCode())) |
|
||||||
.thenReturn(new AlertSendResponseCommand()); |
|
||||||
Channel channel = mock(Channel.class); |
|
||||||
AlertSendRequestCommand alertSendRequestCommand = |
|
||||||
new AlertSendRequestCommand(1, "title", "content", WarningType.FAILURE.getCode()); |
|
||||||
Command reqCommand = alertSendRequestCommand.convert2Command(); |
|
||||||
Assertions.assertEquals(CommandType.ALERT_SEND_REQUEST, reqCommand.getType()); |
|
||||||
alertRequestProcessor.process(channel, reqCommand); |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,66 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
package org.apache.dolphinscheduler.server.master.processor; |
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.common.enums.StateEventType; |
||||||
|
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
||||||
|
import org.apache.dolphinscheduler.plugin.task.api.utils.LogUtils; |
||||||
|
import org.apache.dolphinscheduler.remote.command.Message; |
||||||
|
import org.apache.dolphinscheduler.remote.command.MessageType; |
||||||
|
import org.apache.dolphinscheduler.remote.command.task.TaskForceStartRequest; |
||||||
|
import org.apache.dolphinscheduler.remote.processor.NettyRequestProcessor; |
||||||
|
import org.apache.dolphinscheduler.server.master.event.TaskStateEvent; |
||||||
|
import org.apache.dolphinscheduler.server.master.processor.queue.StateEventResponseService; |
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.stereotype.Component; |
||||||
|
|
||||||
|
import io.netty.channel.Channel; |
||||||
|
|
||||||
|
@Component |
||||||
|
@Slf4j |
||||||
|
public class TaskForceStartProcessor implements NettyRequestProcessor { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private StateEventResponseService stateEventResponseService; |
||||||
|
|
||||||
|
@Override |
||||||
|
public void process(Channel channel, Message message) { |
||||||
|
TaskForceStartRequest taskEventChangeCommand = |
||||||
|
JSONUtils.parseObject(message.getBody(), TaskForceStartRequest.class); |
||||||
|
TaskStateEvent stateEvent = TaskStateEvent.builder() |
||||||
|
.processInstanceId(taskEventChangeCommand.getProcessInstanceId()) |
||||||
|
.taskInstanceId(taskEventChangeCommand.getTaskInstanceId()) |
||||||
|
.key(taskEventChangeCommand.getKey()) |
||||||
|
.type(StateEventType.WAKE_UP_TASK_GROUP) |
||||||
|
.build(); |
||||||
|
try ( |
||||||
|
LogUtils.MDCAutoClosableContext mdcAutoClosableContext = LogUtils.setWorkflowAndTaskInstanceIDMDC( |
||||||
|
stateEvent.getProcessInstanceId(), stateEvent.getTaskInstanceId())) { |
||||||
|
log.info("Received task event change command, event: {}", stateEvent); |
||||||
|
stateEventResponseService.addEvent2WorkflowExecute(stateEvent); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public MessageType getCommandType() { |
||||||
|
return MessageType.TASK_FORCE_STATE_EVENT_REQUEST; |
||||||
|
} |
||||||
|
} |
@ -1,67 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.remote.command; |
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.common.enums.CacheType; |
|
||||||
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
|
||||||
|
|
||||||
import java.io.Serializable; |
|
||||||
|
|
||||||
/** |
|
||||||
* db task ack request command |
|
||||||
*/ |
|
||||||
public class CacheExpireCommand implements Serializable { |
|
||||||
|
|
||||||
private CacheType cacheType; |
|
||||||
private String cacheKey; |
|
||||||
|
|
||||||
public CacheExpireCommand() { |
|
||||||
super(); |
|
||||||
} |
|
||||||
|
|
||||||
public CacheExpireCommand(CacheType cacheType, String cacheKey) { |
|
||||||
this.cacheType = cacheType; |
|
||||||
this.cacheKey = cacheKey; |
|
||||||
} |
|
||||||
|
|
||||||
public CacheType getCacheType() { |
|
||||||
return cacheType; |
|
||||||
} |
|
||||||
|
|
||||||
public String getCacheKey() { |
|
||||||
return cacheKey; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* package command |
|
||||||
* |
|
||||||
* @return command |
|
||||||
*/ |
|
||||||
public Command convert2Command() { |
|
||||||
Command command = new Command(); |
|
||||||
command.setType(CommandType.CACHE_EXPIRE); |
|
||||||
byte[] body = JSONUtils.toJsonByteArray(this); |
|
||||||
command.setBody(body); |
|
||||||
return command; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public String toString() { |
|
||||||
return String.format("CacheExpireCommand{CacheType=%s, cacheKey=%s}", cacheType, cacheKey); |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,35 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
package org.apache.dolphinscheduler.remote.command; |
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.remote.utils.JsonSerializer; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
public interface ResponseMessageBuilder extends Serializable { |
||||||
|
|
||||||
|
default Message convert2Command(long opaque) { |
||||||
|
Message message = new Message(opaque); |
||||||
|
message.setType(getCommandType()); |
||||||
|
byte[] body = JsonSerializer.serialize(this); |
||||||
|
message.setBody(body); |
||||||
|
return message; |
||||||
|
} |
||||||
|
|
||||||
|
MessageType getCommandType(); |
||||||
|
} |
@ -1,49 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.remote.command; |
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
|
||||||
|
|
||||||
import java.io.Serializable; |
|
||||||
|
|
||||||
import lombok.AllArgsConstructor; |
|
||||||
import lombok.Data; |
|
||||||
|
|
||||||
/** |
|
||||||
* db task final result response command |
|
||||||
*/ |
|
||||||
@Data |
|
||||||
@AllArgsConstructor |
|
||||||
public class StateEventResponseCommand implements Serializable { |
|
||||||
|
|
||||||
private String key; |
|
||||||
|
|
||||||
/** |
|
||||||
* package response command |
|
||||||
* |
|
||||||
* @return command |
|
||||||
*/ |
|
||||||
public Command convert2Command() { |
|
||||||
Command command = new Command(); |
|
||||||
command.setType(CommandType.TASK_EXECUTE_RESULT_ACK); |
|
||||||
byte[] body = JSONUtils.toJsonByteArray(this); |
|
||||||
command.setBody(body); |
|
||||||
return command; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,42 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.remote.command; |
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
|
||||||
import org.apache.dolphinscheduler.plugin.task.api.enums.TaskExecutionStatus; |
|
||||||
|
|
||||||
import java.io.Serializable; |
|
||||||
|
|
||||||
public class TaskStateEventResponseCommand implements Serializable { |
|
||||||
|
|
||||||
private TaskExecutionStatus status; |
|
||||||
private String key; |
|
||||||
|
|
||||||
/** |
|
||||||
* package response command |
|
||||||
* |
|
||||||
* @return command |
|
||||||
*/ |
|
||||||
public Command convert2Command() { |
|
||||||
Command command = new Command(); |
|
||||||
command.setType(CommandType.TASK_EXECUTE_RESULT_ACK); |
|
||||||
byte[] body = JSONUtils.toJsonByteArray(this); |
|
||||||
command.setBody(body); |
|
||||||
return command; |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,41 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
package org.apache.dolphinscheduler.remote.command.cache; |
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.common.enums.CacheType; |
||||||
|
import org.apache.dolphinscheduler.remote.command.MessageType; |
||||||
|
import org.apache.dolphinscheduler.remote.command.RequestMessageBuilder; |
||||||
|
|
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.NoArgsConstructor; |
||||||
|
|
||||||
|
@Data |
||||||
|
@NoArgsConstructor |
||||||
|
@AllArgsConstructor |
||||||
|
public class CacheExpireRequest implements RequestMessageBuilder { |
||||||
|
|
||||||
|
private CacheType cacheType; |
||||||
|
private String cacheKey; |
||||||
|
|
||||||
|
@Override |
||||||
|
public MessageType getCommandType() { |
||||||
|
return MessageType.CACHE_EXPIRE; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,44 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
package org.apache.dolphinscheduler.remote.command.log; |
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.remote.command.MessageType; |
||||||
|
import org.apache.dolphinscheduler.remote.command.RequestMessageBuilder; |
||||||
|
|
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.NoArgsConstructor; |
||||||
|
|
||||||
|
/** |
||||||
|
* get log bytes request command |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@NoArgsConstructor |
||||||
|
@AllArgsConstructor |
||||||
|
public class GetLogBytesRequest implements RequestMessageBuilder { |
||||||
|
|
||||||
|
/** |
||||||
|
* log path |
||||||
|
*/ |
||||||
|
private String path; |
||||||
|
|
||||||
|
@Override |
||||||
|
public MessageType getCommandType() { |
||||||
|
return MessageType.GET_LOG_BYTES_REQUEST; |
||||||
|
} |
||||||
|
} |
@ -1,55 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.remote.command.log; |
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
|
||||||
import org.apache.dolphinscheduler.remote.command.Command; |
|
||||||
import org.apache.dolphinscheduler.remote.command.CommandType; |
|
||||||
|
|
||||||
import java.io.Serializable; |
|
||||||
|
|
||||||
import lombok.AllArgsConstructor; |
|
||||||
import lombok.Data; |
|
||||||
import lombok.NoArgsConstructor; |
|
||||||
|
|
||||||
/** |
|
||||||
* get log bytes request command |
|
||||||
*/ |
|
||||||
@Data |
|
||||||
@NoArgsConstructor |
|
||||||
@AllArgsConstructor |
|
||||||
public class GetLogBytesRequestCommand implements Serializable { |
|
||||||
|
|
||||||
/** |
|
||||||
* log path |
|
||||||
*/ |
|
||||||
private String path; |
|
||||||
|
|
||||||
/** |
|
||||||
* package request command |
|
||||||
* |
|
||||||
* @return command |
|
||||||
*/ |
|
||||||
public Command convert2Command() { |
|
||||||
Command command = new Command(); |
|
||||||
command.setType(CommandType.GET_LOG_BYTES_REQUEST); |
|
||||||
byte[] body = JSONUtils.toJsonByteArray(this); |
|
||||||
command.setBody(body); |
|
||||||
return command; |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,45 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
package org.apache.dolphinscheduler.remote.command.log; |
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.remote.command.MessageType; |
||||||
|
import org.apache.dolphinscheduler.remote.command.ResponseMessageBuilder; |
||||||
|
|
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.NoArgsConstructor; |
||||||
|
|
||||||
|
/** |
||||||
|
* get log bytes response command |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@NoArgsConstructor |
||||||
|
@AllArgsConstructor |
||||||
|
public class GetLogBytesResponse implements ResponseMessageBuilder { |
||||||
|
|
||||||
|
/** |
||||||
|
* log byte data |
||||||
|
*/ |
||||||
|
private byte[] data; |
||||||
|
|
||||||
|
@Override |
||||||
|
public MessageType getCommandType() { |
||||||
|
return MessageType.GET_LOG_BYTES_RESPONSE; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -1,57 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.remote.command.log; |
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
|
||||||
import org.apache.dolphinscheduler.remote.command.Command; |
|
||||||
import org.apache.dolphinscheduler.remote.command.CommandType; |
|
||||||
|
|
||||||
import java.io.Serializable; |
|
||||||
|
|
||||||
import lombok.AllArgsConstructor; |
|
||||||
import lombok.Data; |
|
||||||
import lombok.NoArgsConstructor; |
|
||||||
|
|
||||||
/** |
|
||||||
* get log bytes response command |
|
||||||
*/ |
|
||||||
@Data |
|
||||||
@NoArgsConstructor |
|
||||||
@AllArgsConstructor |
|
||||||
public class GetLogBytesResponseCommand implements Serializable { |
|
||||||
|
|
||||||
/** |
|
||||||
* log byte data |
|
||||||
*/ |
|
||||||
private byte[] data; |
|
||||||
|
|
||||||
/** |
|
||||||
* package response command |
|
||||||
* |
|
||||||
* @param opaque request unique identification |
|
||||||
* @return command |
|
||||||
*/ |
|
||||||
public Command convert2Command(long opaque) { |
|
||||||
Command command = new Command(opaque); |
|
||||||
command.setType(CommandType.GET_LOG_BYTES_RESPONSE); |
|
||||||
byte[] body = JSONUtils.toJsonByteArray(this); |
|
||||||
command.setBody(body); |
|
||||||
return command; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,56 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.remote.command.log; |
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
|
||||||
import org.apache.dolphinscheduler.remote.command.Command; |
|
||||||
import org.apache.dolphinscheduler.remote.command.CommandType; |
|
||||||
|
|
||||||
import java.io.Serializable; |
|
||||||
|
|
||||||
import lombok.AllArgsConstructor; |
|
||||||
import lombok.Data; |
|
||||||
import lombok.NoArgsConstructor; |
|
||||||
|
|
||||||
/** |
|
||||||
* view log response command |
|
||||||
*/ |
|
||||||
@Data |
|
||||||
@NoArgsConstructor |
|
||||||
@AllArgsConstructor |
|
||||||
public class ViewLogResponseCommand implements Serializable { |
|
||||||
|
|
||||||
/** |
|
||||||
* response data |
|
||||||
*/ |
|
||||||
private String msg; |
|
||||||
|
|
||||||
/** |
|
||||||
* package response command |
|
||||||
* |
|
||||||
* @param opaque request unique identification |
|
||||||
* @return command |
|
||||||
*/ |
|
||||||
public Command convert2Command(long opaque) { |
|
||||||
Command command = new Command(opaque); |
|
||||||
command.setType(CommandType.VIEW_WHOLE_LOG_RESPONSE); |
|
||||||
byte[] body = JSONUtils.toJsonByteArray(this); |
|
||||||
command.setBody(body); |
|
||||||
return command; |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,44 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
package org.apache.dolphinscheduler.remote.command.log; |
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.remote.command.MessageType; |
||||||
|
import org.apache.dolphinscheduler.remote.command.ResponseMessageBuilder; |
||||||
|
|
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.NoArgsConstructor; |
||||||
|
|
||||||
|
/** |
||||||
|
* view log response command |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@NoArgsConstructor |
||||||
|
@AllArgsConstructor |
||||||
|
public class ViewLogResponseResponse implements ResponseMessageBuilder { |
||||||
|
|
||||||
|
/** |
||||||
|
* response data |
||||||
|
*/ |
||||||
|
private String msg; |
||||||
|
|
||||||
|
@Override |
||||||
|
public MessageType getCommandType() { |
||||||
|
return MessageType.VIEW_WHOLE_LOG_RESPONSE; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,56 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
package org.apache.dolphinscheduler.remote.command.task; |
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.remote.command.BaseMessage; |
||||||
|
import org.apache.dolphinscheduler.remote.command.MessageType; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
import lombok.NoArgsConstructor; |
||||||
|
import lombok.ToString; |
||||||
|
|
||||||
|
/** |
||||||
|
* task execute running ack command |
||||||
|
* from master to worker |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@NoArgsConstructor |
||||||
|
@ToString(callSuper = true) |
||||||
|
@EqualsAndHashCode(callSuper = true) |
||||||
|
public class TaskExecuteRunningMessageAck extends BaseMessage { |
||||||
|
|
||||||
|
private boolean success; |
||||||
|
private int taskInstanceId; |
||||||
|
|
||||||
|
public TaskExecuteRunningMessageAck(boolean success, |
||||||
|
int taskInstanceId, |
||||||
|
String messageSenderAddress, |
||||||
|
String messageReceiverAddress, |
||||||
|
long messageSendTime) { |
||||||
|
super(messageSenderAddress, messageReceiverAddress, messageSendTime); |
||||||
|
this.success = success; |
||||||
|
this.taskInstanceId = taskInstanceId; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public MessageType getCommandType() { |
||||||
|
return MessageType.TASK_EXECUTE_RUNNING_MESSAGE_ACK; |
||||||
|
} |
||||||
|
|
||||||
|
} |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue