rtpsw commented on code in PR #34392:
URL: https://github.com/apache/arrow/pull/34392#discussion_r1196487268


##########
cpp/src/arrow/acero/options.h:
##########
@@ -52,13 +52,21 @@ class Executor;
 
 namespace acero {
 
+#ifndef NDEBUG
+struct DebugOptions;
+#endif
+
 using AsyncExecBatchGenerator = AsyncGenerator<std::optional<ExecBatch>>;
 
 /// \addtogroup execnode-options
 /// @{
 class ARROW_ACERO_EXPORT ExecNodeOptions {
  public:
   virtual ~ExecNodeOptions() = default;
+
+#ifndef NDEBUG
+  std::shared_ptr<DebugOptions> debug_opts;
+#endif

Review Comment:
   `DebugOptions` holds a debug-stream and a debug-mutex for it that are only 
used in debug-mode for collecting debug-messages specific to a node. With the 
[recent 
commit](https://github.com/apache/arrow/pull/34392/commits/275092cce3420fca67cbd9f58c3c7b5a9c9758e8),
 `DebugOptions` is an empty struct in release-mode, and the ABI is consistent 
in both modes because `DebugOptions` is only exposed by pointer/reference.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to