DLP OCR Error : 4807 - Unable to verify client and server with each other as authorized endpoints. Please verify that the client and server keystores are configured correctly. gRPC StatusRuntimeException: UNAVAILABLE - io exception
search cancel

DLP OCR Error : 4807 - Unable to verify client and server with each other as authorized endpoints. Please verify that the client and server keystores are configured correctly. gRPC StatusRuntimeException: UNAVAILABLE - io exception

book

Article ID: 415120

calendar_today

Updated On:

Products

Data Loss Prevention Core Package Data Loss Prevention Data Loss Prevention Enterprise Suite Data Loss Prevention Sensitive Image Recognition Data Loss Prevention Network Prevent for Email

Issue/Introduction

OCR processing errors are seen on the Enforce console: Event 4807

Default keystore is being used.

Error in the FileReader logs:

com.vontu.messaging.chain.ocr.OcrExecutionTask call
WARNING: Failed to perform OCR for item 'image001.png'
com.symantec.dlp.ocr.client.exception.OcrUnauthorizedException: OcrRequestId: [ ] Unable to verify client and server with each other as authorized endpoints. Please verify that the client and server keystores are configured correctly. gRPC StatusRuntimeException: UNAVAILABLE - io exception
at com.symantec.dlp.ocr.client.grpc.OcrGrpcClient.lambda$runRequest$0(OcrGrpcClient.java:140)
at com.symantec.dlp.ocr.client.grpc.OcrGrpcClient$OcrRequestRetrier.run(OcrGrpcClient.java:270)
at com.symantec.dlp.ocr.client.grpc.OcrGrpcClient.runRequest(OcrGrpcClient.java:67)
at com.symantec.dlp.ocr.client.grpc.OcrClientOnPremGrpcType.submitRequest(OcrClientOnPremGrpcType.java:226)
at com.symantec.dlp.ocr.client.OcrClientOnPremBackCompatibleType$OcrClientChooser.submitRequest(OcrClientOnPremBackCompatibleType.java:291)
at com.symantec.dlp.ocr.client.OcrClientOnPremBackCompatibleType.submitRequest(OcrClientOnPremBackCompatibleType.java:118)
at com.vontu.messaging.chain.ocr.OcrExecutionTask.call(OcrExecutionTask.java:129)
at com.vontu.messaging.chain.ocr.OcrExecutionTask.call(OcrExecutionTask.java:61)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused by: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at io.grpc.Status.asRuntimeException(Status.java:537)
at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:548)
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:567)
at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:71)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:735)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:716)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
... 3 more
Caused by: io.grpc.netty.shaded.io.netty.handler.ssl.SslClosedEngineException: SSLEngine closed already
at io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.wrap(SslHandler.java:861)
at io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.wrapAndFlush(SslHandler.java:800)
at io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.flush(SslHandler.java:781)
at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:925)
at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:907)
at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:893)
at io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler.flush(Http2ConnectionHandler.java:197)
at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:925)
at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:907)
at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:893)
at io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline.flush(DefaultChannelPipeline.java:967)
at io.grpc.netty.shaded.io.netty.channel.AbstractChannel.flush(AbstractChannel.java:254)
at io.grpc.netty.shaded.io.grpc.netty.WriteQueue.flush(WriteQueue.java:143)
at io.grpc.netty.shaded.io.grpc.netty.WriteQueue.access$000(WriteQueue.java:35)
at io.grpc.netty.shaded.io.grpc.netty.WriteQueue$1.run(WriteQueue.java:47)
at io.grpc.netty.shaded.io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
at io.grpc.netty.shaded.io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
at io.grpc.netty.shaded.io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
at io.grpc.netty.shaded.io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:403)
at io.grpc.netty.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.grpc.netty.shaded.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.grpc.netty.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
... 1 more
com.vontu.messaging.chain.ocr.OcrTextExtractor performOcr

 

Environment

All DLP Releases

Resolution

Default KeyStore is being used.

There was a session disconnect between DLP Detection and OCR server due to FileReader process restart OR OCR server was restarted, that caused the events to be generated.

It seems the event "OCR 4807 - OCR client and server are not authorized with each other" is common in scenarios where the session between Detection server and OCR servers was disrupted for any reason.