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)