Return-Path: X-Original-To: apmail-ignite-dev-archive@minotaur.apache.org Delivered-To: apmail-ignite-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 49C78184A3 for ; Thu, 15 Oct 2015 16:28:06 +0000 (UTC) Received: (qmail 91637 invoked by uid 500); 15 Oct 2015 16:28:05 -0000 Delivered-To: apmail-ignite-dev-archive@ignite.apache.org Received: (qmail 91591 invoked by uid 500); 15 Oct 2015 16:28:05 -0000 Mailing-List: contact dev-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list dev@ignite.apache.org Received: (qmail 91568 invoked by uid 99); 15 Oct 2015 16:28:05 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Oct 2015 16:28:05 +0000 Date: Thu, 15 Oct 2015 16:28:05 +0000 (UTC) From: "Ivan Veselovsky (JIRA)" To: dev@ignite.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (IGNITE-1699) Method org.apache.ignite.internal.util.GridJavaProcess#kill should be more reliable. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Ivan Veselovsky created IGNITE-1699: --------------------------------------- Summary: Method org.apache.ignite.internal.util.GridJavaProcess#kill should be more reliable. Key: IGNITE-1699 URL: https://issues.apache.org/jira/browse/IGNITE-1699 Project: Ignite Issue Type: Bug Reporter: Ivan Veselovsky Test IpcSharedMemoryCrashDetectionSelfTest.testIgfsServerClientInteractionsUponClientKilling sometimes fails with the nelow error. I see the following problems in this method: 1) exeption (if any) should better contain the actual process exit code if it was different from the expected one; 2) assertion on zero exit code ( org/apache/ignite/internal/util/GridJavaProcess.java:197) of the killing command is not always correct , e.g. on Unix systems killing of an unexisting process returns 1. So, if the process finished before kill was invoked, the method will fail with assertion error. {code} java.lang.AssertionError: Process killing was not successful at org.apache.ignite.internal.util.GridJavaProcess.kill(GridJavaProcess.java:197) at org.apache.ignite.internal.util.ipc.shmem.IpcSharedMemoryCrashDetectionSelfTest.interactWithClient(IpcSharedMemoryCrashDetectionSelfTest.java:343) at org.apache.ignite.internal.util.ipc.shmem.IpcSharedMemoryCrashDetectionSelfTest.testIgfsServerClientInteractionsUponClientKilling(IpcSharedMemoryCrashDetectionSelfTest.java:91) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at junit.framework.TestCase.runTest(TestCase.java:176) at org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1658) at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:112) at org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1596) {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)