HPE Ezmeral Software platform
1837007 Members
2115 Online
110111 Solutions
New Discussion

Data Access Gateway Direct memory

 
Harshkohli
HPE Pro

Data Access Gateway Direct memory

I am not sure about where to fix or modify the direct memory for Data Access gateway.

Assuming below errors are there in logs which I am not sure.

ERROR [MapR GRPC Service Executor -2815] GrpcThreadPoolExecutor - io.grpc.internal.SerializingExecutor.run() leaked an exception. io.grpc.netty.shaded.io.netty.util.internal.OutOfDirectMemoryError: failed to allocate 16777216 byte(s) of direct memory (used: 3003121951, max: 3014656000)

 

Do we need to update the heap memory here which is under warden.data-access-gateway.conf in data-access-gateway conf directory?

I work for HPE
2 REPLIES 2
tdunning
HPE Pro

Re: Data Access Gateway Direct memory

This typically happens when a streaming argument in grpc has too much data passed too quickly.

Others more expert in the ways of the gateway need to comment.

 

I work for HPE
Harshkohli
HPE Pro

Re: Data Access Gateway Direct memory

Thanks Ted. I finally got to the solution. OJAI query generally gets allocated some direct memory via Jetty/library and in case of extensive query this memory saturates which goes beyond the heap memory of the Data Access Gateway process.

Two ways to handle is either increase the heap of the DAG to accumulate more results or limit the number of results via grpc.service.ojai.query.result-limit parameter under properties.cfg.

ANy one of these should take care of the same. For now there is no way like Drill where we can set direct memoery for DAG.

Let me know if someone thinks otherwise or has some more pointers.

I work for HPE