You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Christian Hudon (Jira)" <ji...@apache.org> on 2020/01/15 21:14:00 UTC

[jira] [Created] (ARROW-7585) Plasma-store-server does not support --help, shows backtrace on getopt error

Christian Hudon created ARROW-7585:
--------------------------------------

             Summary: Plasma-store-server does not support --help, shows backtrace on getopt error
                 Key: ARROW-7585
                 URL: https://issues.apache.org/jira/browse/ARROW-7585
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C++ - Plasma
            Reporter: Christian Hudon


I'm trying out Plasma, using plasma-store-server. The first thing I usually do then is to run the binary without arguments, and that usually gives me a message showing usage. However, with plasma-store-server, the initial experience there is a backtrace:
{noformat}
$ ./debug/plasma-store-server
/Users/chrish/Code/arrow/cpp/src/plasma/store.cc:1237: please specify socket for incoming connections with -s switch
0   plasma-store-server                 0x000000010b4d7c04 _ZN5arrow4util7CerrLog14PrintBackTraceEv + 52
1   plasma-store-server                 0x000000010b4d7b24 _ZN5arrow4util7CerrLogD2Ev + 100
2   plasma-store-server                 0x000000010b4d7a85 _ZN5arrow4util7CerrLogD1Ev + 21
3   plasma-store-server                 0x000000010b4d7aa9 _ZN5arrow4util7CerrLogD0Ev + 25
4   plasma-store-server                 0x000000010b4d7990 _ZN5arrow4util8ArrowLogD2Ev + 80
5   plasma-store-server                 0x000000010b4d79c5 _ZN5arrow4util8ArrowLogD1Ev + 21
6   plasma-store-server                 0x000000010b463152 main + 1122
7   libdyld.dylib                       0x00007fff7765a3d5 start + 1
fish: './debug/plasma-store-server' terminated by signal SIGABRT (Abort)
{noformat}
Also, neither of the "h" or "help" command-line switches is supported, and so to start plasma-store-server, you either find the doc, or iteratively add arguments until you stop getting "please specify ..." backtraces.

I know it's not a big thing, but it'd be nice if that initial experience was a little bit more user-friendly. Also submitting this because it feels like a good first time issue, so I would be very happy to do the work, and would like to tackle it. I'd like to 1) add --help support that shows all the options and gives an example with the required ones, and 2) remove the unnecessary backtraces on normal errors like these in the main() function.

Just asking beforehand here: 1) would this kind of patch be welcome, and 2) is there a C++ library for command-line option parsing that I could be using. I can find one on my own, but I'd rather ask here which one would be approved for using in the Arrow codebase... or should I just stick to getopt() and do things manually? Thanks!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)