From 47b28ea1d47336753f5e0a0c0209f0d7e1679bfb Mon Sep 17 00:00:00 2001 From: Mark Shields Date: Wed, 2 Mar 2016 13:17:02 -0800 Subject: [PATCH 1/3] [BEAM-87] Support opt-in for heap dumps --- .../sdk/options/DataflowPipelineDebugOptions.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java b/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java index a14be44987..76e20c434c 100644 --- a/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java +++ b/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java @@ -211,6 +211,19 @@ public Dataflow create(PipelineOptions options) { int getNumberOfWorkerHarnessThreads(); void setNumberOfWorkerHarnessThreads(int value); + /** + * If {@literal true}, save a heap dump before killing a thread or process which is GC + * thrashing or out of memory. + * + *

+ * CAUTION: Heap dumps can of comparable size to the default boot disk. Consider increasing + * the boot disk size before setting this flag to true. + */ + @Description("If {@literal true}, save a heap dump before killing a thread or process " + + "which is GC thrashing or out of memory.") + boolean getDumpHeapOnOOM(); + void setDumpHeapOnOOM(boolean dumpHeapBeforeExit); + /** * Creates a {@link PathValidator} object using the class specified in * {@link #getPathValidatorClass()}. From c48467bbca18d83989b6b12e3c067054ea12f795 Mon Sep 17 00:00:00 2001 From: Mark Shields Date: Thu, 3 Mar 2016 10:53:25 -0800 Subject: [PATCH 2/3] Clarrify heap file path. --- .../dataflow/sdk/options/DataflowPipelineDebugOptions.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java b/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java index 76e20c434c..f8b0f4cdca 100644 --- a/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java +++ b/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java @@ -213,7 +213,8 @@ public Dataflow create(PipelineOptions options) { /** * If {@literal true}, save a heap dump before killing a thread or process which is GC - * thrashing or out of memory. + * thrashing or out of memory. The location of the heap file will either be echoed back + * to the user, or the user will be given the oppourtunity to download the heap file. * *

* CAUTION: Heap dumps can of comparable size to the default boot disk. Consider increasing From 3f5d5e0b6f6979b9a852dfd9ac842d5fb3f07696 Mon Sep 17 00:00:00 2001 From: Kenneth Knowles Date: Thu, 3 Mar 2016 14:19:51 -0800 Subject: [PATCH 3/3] Fix typo --- .../dataflow/sdk/options/DataflowPipelineDebugOptions.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java b/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java index f8b0f4cdca..f1d28edcd9 100644 --- a/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java +++ b/sdk/src/main/java/com/google/cloud/dataflow/sdk/options/DataflowPipelineDebugOptions.java @@ -214,7 +214,7 @@ public Dataflow create(PipelineOptions options) { /** * If {@literal true}, save a heap dump before killing a thread or process which is GC * thrashing or out of memory. The location of the heap file will either be echoed back - * to the user, or the user will be given the oppourtunity to download the heap file. + * to the user, or the user will be given the opportunity to download the heap file. * *

* CAUTION: Heap dumps can of comparable size to the default boot disk. Consider increasing