Closed gwnet closed 4 years ago
It will after the timeout. Reduce the timeout if you want it to happen earlier. Otherwise if that does not work open a ticket in the Disni repository.
BTW you can set the timeout with Controller.connect there is an overload which allows you to set it: https://github.com/zrlio/jNVMf/blob/master/src/main/java/com/ibm/jnvmf/Nvme.java
got it. thank you so much!~, timeout is Ok so far. I will see if we need fail immediately later. can you help raise ticket on libdisni?
then the application will hang at below code: at the endpoint.connect part. it will hang, never return.
FabricsConnectResponseCqe connect(long timeout, TimeUnit timeoutUnit) throws IOException { NativeBuffer buffer = new NativeByteBuffer( ByteBuffer.allocateDirect(RdmaCmRequestPrivateData.SIZE)); RdmaCmRequestPrivateData privateData = new RdmaCmRequestPrivateData(buffer); privateData.setQueueId(queueId); privateData.setRdmaQpReceiveQueueSize(submissionQueueSize); privateData.setRdmaQpSendQueueSize((short) (submissionQueueSize - 1)); this.endpoint.getConnParam().setPrivate_data(buffer.getAddress()); this.endpoint.getConnParam().setPrivate_data_len((byte) RdmaCmRequestPrivateData.SIZE); InetSocketAddress socketAddress = controller.getTransportId().getAddress(); try { //FIXME: rejected requests are not handled by DiSNI //FIXME: check for overflow endpoint.connect(socketAddress, (int)TimeUnit.MILLISECONDS.convert(timeout, timeoutUnit)); } catch (Exception exception) { throw new IOException(exception); }
Cadmin@ogden-dirt:/tmp/wayne/jNVMf> java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8089 -cp target/jnvmf-1.7-jar-with-dependencies.jar:target/jnvm1.7-tests.jar -Djnvmf.legacy=true com.ibm.jnvmf.utils.NvmfClientBenchmark -a 192.168.219.3 -p 4420 -g 4096 -i 3 -m RANDOM -n 10 -nqn nqn.2019-12.com.wayne:test -qd 1 -rw read -s 4096 -qs 64 -H -I Listening for transport dt_socket at address: 8089 Name:abc abc read 4096bytes with QD = 1, time[s] = 3, pattern = RANDOM, runs = 10 log4j:WARN No appenders could be found for logger (com.ibm.disni). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.