diff --git a/csharp/src/Apache.Arrow.Flight/FlightInfo.cs b/csharp/src/Apache.Arrow.Flight/FlightInfo.cs index 16ddb6fbfb834..e2452ac9ff461 100644 --- a/csharp/src/Apache.Arrow.Flight/FlightInfo.cs +++ b/csharp/src/Apache.Arrow.Flight/FlightInfo.cs @@ -18,6 +18,7 @@ using System.Text; using Apache.Arrow.Flight.Internal; using Apache.Arrow.Ipc; +using Google.Protobuf; namespace Apache.Arrow.Flight { @@ -25,7 +26,7 @@ public class FlightInfo { internal FlightInfo(Protocol.FlightInfo flightInfo) { - Schema = FlightMessageSerializer.DecodeSchema(flightInfo.Schema.Memory); + Schema = flightInfo.Schema?.Length > 0 ? FlightMessageSerializer.DecodeSchema(flightInfo.Schema.Memory) : null; Descriptor = new FlightDescriptor(flightInfo.FlightDescriptor); var endpoints = new List(); @@ -60,7 +61,7 @@ public FlightInfo(Schema schema, FlightDescriptor descriptor, IReadOnlyList