[lttng-dev] [PATCH lttng-ust] Fix: Send the correct Java agent return code when disabling events

Alexandre Montplaisir alexmonthy at efficios.com
Thu Aug 6 13:41:50 EDT 2015


When receiving a "disable event" command from the sessiond for
an event that is not known, the Java agent should send the
"unknown logger name" return code, not the "invalid command" one.

Signed-off-by: Alexandre Montplaisir <alexmonthy at efficios.com>
---
 .../agent/client/SessiondDisableEventCommand.java  | 23 +++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/client/SessiondDisableEventCommand.java b/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/client/SessiondDisableEventCommand.java
index 39d14b0..31d91e7 100644
--- a/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/client/SessiondDisableEventCommand.java
+++ b/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/client/SessiondDisableEventCommand.java
@@ -47,6 +47,27 @@ class SessiondDisableEventCommand implements ISessiondCommand {
 	@Override
 	public ILttngAgentResponse execute(AbstractLttngAgent<?> agent) {
 		boolean success = agent.eventDisabled(this.eventName);
-		return (success ? ILttngAgentResponse.SUCESS_RESPONSE : ILttngAgentResponse.FAILURE_RESPONSE);
+		return (success ? ILttngAgentResponse.SUCESS_RESPONSE : DISABLE_EVENT_FAILURE_RESPONSE);
 	}
+
+	/**
+	 * Response sent when the disable-event command asks to disable an
+	 * unknown event.
+	 */
+	private static final ILttngAgentResponse DISABLE_EVENT_FAILURE_RESPONSE = new ILttngAgentResponse() {
+
+		@Override
+		public ReturnCode getReturnCode() {
+			return ReturnCode.CODE_UNK_LOGGER_NAME;
+		}
+
+		@Override
+		public byte[] getBytes() {
+			byte data[] = new byte[INT_SIZE];
+			ByteBuffer buf = ByteBuffer.wrap(data);
+			buf.order(ByteOrder.BIG_ENDIAN);
+			buf.putInt(getReturnCode().getCode());
+			return data;
+		}
+	};
 }
-- 
2.1.4




More information about the lttng-dev mailing list