Netty timeout exception in client

Description

When MEM is full,a write operation in client is easy to get a netty timeout exception.The reason is that the lockBlock method in BlockLockManager will wait the lock until get the block lock.Assume that the MEM is full,I want to write data into MEM.To write the data into MEM, some block in MEM must be moved out.Assume the block A is free and ready to be moved out of the MEM.At the point of adding a write lock on the block A,a read lock happen to be added by other thread before my adding write lock. The move block A out operation will wait lock until the read lock is released.During worker waiting the lock,the client may get a netty timeout exception.

Environment

None

Status

Assignee

Sean

Reporter

Sean

Labels

None

Components

Fix versions

Affects versions

1.7.1

Priority

Critical