You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "amoeba (via GitHub)" <gi...@apache.org> on 2023/02/23 23:22:42 UTC

[GitHub] [arrow] amoeba commented on issue #26497: Add ability to send arbitrary HTTP headers to C++/Python clients

amoeba commented on issue #26497:
URL: https://github.com/apache/arrow/issues/26497#issuecomment-1442563546

   Hey @lidavidm, I'm trying to do this and am running into an issue and I'm not sure we support this at the moment as it's currently documented:
   
   With C++ code,
   
   ```c++
   arrow::flight::FlightCallOptions options;
   options.headers.push_back(std::make_pair("X-MY-HEADER", "SOMEVAL"));
   ARROW_ASSIGN_OR_RAISE(listing, client->ListFlights(options, {}));
   ```
   
   or Python
   
   ```python
   client = flight.connect("grpc://localhost:61234")
   options = flight.FlightCallOptions(headers=[(b"X-MY-HEADER", b"SOMEVAL")])
   [info for info in client.list_flights(b"", options)]
   ```
   
   I get
   
   ```
   E0223 14:09:41.184318000 8048804160 call.cc:899]                       validate_metadata: UNKNOWN:Illegal header key {created_time:"2023-02-23T14:09:41.183782-09:00", offset:0, raw_bytes:"58 2d 4d 59 2d 48 45 41 44 45 52 \'X-MY-HEADER\'\x00"}
   E0223 14:09:41.184341000 8048804160 call_op_set.h:978]                 API misuse of type GRPC_CALL_ERROR_INVALID_METADATA observed
   E0223 14:09:41.184345000 8048804160 call_op_set.h:980]                 assertion failed: false
   fish: Job 1, 'GRPC_VERBOSITY=info GRPC_TRACE=…' terminated by signal SIGABRT (Abort)
   ```
   
   <details>
   <summary>Full backtrace</summary>
   
   ```
   * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
     * frame #0: 0x000000018462e868 libsystem_kernel.dylib`__pthread_kill + 8
       frame #1: 0x0000000184665cec libsystem_pthread.dylib`pthread_kill + 288
       frame #2: 0x000000018459e2c8 libsystem_c.dylib`abort + 180
       frame #3: 0x0000000103ab1a68 libgrpc++.1.51.dylib`grpc::CoreCodegen::assert_fail(char const*, char const*, int) + 48
       frame #4: 0x000000010025901c libarrow_flight.900.dylib`grpc::internal::CallOpSet<grpc::internal::CallOpSendInitialMetadata, grpc::internal::CallOpSendMessage, grpc::internal::CallOpClientSendClose, grpc::internal::CallNoOp<4>, grpc::internal::CallNoOp<5>, grpc::internal::CallNoOp<6> >::ContinueFillOpsAfterInterception() + 300
       frame #5: 0x000000010023fc4c libarrow_flight.900.dylib`arrow::flight::transport::grpc::(anonymous namespace)::GrpcClientInterceptorAdapter::Intercept(grpc::experimental::InterceptorBatchMethods*) + 360
       frame #6: 0x00000001002437d4 libarrow_flight.900.dylib`grpc::internal::InterceptorBatchMethodsImpl::RunInterceptors() + 336
       frame #7: 0x0000000100258eac libarrow_flight.900.dylib`grpc::internal::CallOpSet<grpc::internal::CallOpSendInitialMetadata, grpc::internal::CallOpSendMessage, grpc::internal::CallOpClientSendClose, grpc::internal::CallNoOp<4>, grpc::internal::CallNoOp<5>, grpc::internal::CallNoOp<6> >::FillOps(grpc::internal::Call*) + 244
       frame #8: 0x00000001002652d8 libarrow_flight.900.dylib`grpc::ClientReader<arrow::flight::protocol::FlightInfo>::ClientReader<arrow::flight::protocol::Criteria>(grpc::ChannelInterface*, grpc::internal::RpcMethod const&, grpc::ClientContext*, arrow::flight::protocol::Criteria const&) + 480
       frame #9: 0x000000010025b550 libarrow_flight.900.dylib`arrow::flight::protocol::FlightService::Stub::ListFlightsRaw(grpc::ClientContext*, arrow::flight::protocol::Criteria const&) + 68
       frame #10: 0x000000010023d408 libarrow_flight.900.dylib`arrow::flight::transport::grpc::(anonymous namespace)::GrpcClientImpl::ListFlights(arrow::flight::FlightCallOptions const&, arrow::flight::Criteria const&, std::__1::unique_ptr<arrow::flight::FlightListing, std::__1::default_delete<arrow::flight::FlightListing> >*) + 168
       frame #11: 0x000000010021ed1c libarrow_flight.900.dylib`arrow::flight::FlightClient::ListFlights(arrow::flight::FlightCallOptions const&, arrow::flight::Criteria const&) + 128
       frame #12: 0x0000000100002bf4 client`DoPutFlightClient::ListFlights(this=0x0000600000c04de0) at client.cc:41:3
       frame #13: 0x00000001000026c4 client`RunMain(argc=1, argv=0x000000016fdfed68) at client.cc:79:13
       frame #14: 0x0000000100002f70 client`main(argc=1, argv=0x000000016fdfed68) at client.cc:92:18
       frame #15: 0x000000018433be50 dyld`start + 2544
   ```
   </details>
   
   Is my use what this issue is about?


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org