[SPARK-3106] Fix the race condition issue about Connection and ConnectionManager

Yes, we use blocking IO.
And I had a misunderstanding. SocketChannel#read blocks the other thread which try to call SocketChannel#read on the same instance so unregistering OP_READ is wrong.
So, we should resolve race condition using another way because a thread registering OP_READ can call SocketChannel#close in SendingConnection#read during a thread registering OP_WRITE calls SocketChannel#write in SendingConnection#write.