Help please related to java plugin eclipse, Executor class under aerospike.client.command package, waitTillComplete method

Is the client on the same operating system instance as the server?

Is the server listening on port 3000?

Which server version are you using?

What type of data in located in namespace “test”/ set “zu”?

Can you send server configuration in “aerospike.conf”?

Is the client on the same operating system instance as the server?

yes

Is the server listening on port 3000?

yes

3.8.1

The data is as below

# Aerospike database configuration file.

# This stanza must come first.
service {
        user root
        group root
        paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
        pidfile /var/run/aerospike/asd.pid
        service-threads 4
        transaction-queues 4
        transaction-threads-per-queue 4
        proto-fd-max 15000
}

logging {
        # Log file must be an absolute path.
        file /var/log/aerospike/aerospike.log {
                context any warning
                context any info
                context migrate debug
        }
        file /var/log/aerospike/udf.log {
                context any critical
                context udf info
                context aggr info
        }
}

network {
        service {
                address any
                port 3000
#                access-address 192.168.120.118
                access-address 127.0.0.1 virtual
        }

        heartbeat {
                mode multicast
                address 239.1.99.222
                port 9918

                # To use unicast-mesh heartbeats, comment out the 3 lines above and
                # use the following 4 lines instead.
#               mode mesh
#               port 3002
#               mesh-address 10.1.1.1
#               mesh-port 3002

                interval 150
                timeout 10
        }

        fabric {
                port 3001
        }

        info {
                port 3003
        }
}

#namespace test {
#       replication-factor 2
#       memory-size 4G
#       default-ttl 30d # 30 days, use 0 to never expire/evict.
#
#       storage-engine memory
#}

namespace test {
        replication-factor 2
        memory-size 2G
        default-ttl 5d # 5 days, use 0 to never expire/evict.

#       storage-engine memory

        # To use file storage backing, comment out the line above and use the
        # following lines instead.
        storage-engine device {
                file /opt/aerospike/data/test.dat
                filesize 5G
                data-in-memory true # Store data in memory in addition to file.
        }
}

Try the following command in aql:

aql> select * from test.zu 

This command will result in a scan from the C client. I assume this fails as well?

Are you using the server in a Docker container?

yes: I am using a vagrant box with CentOS/aerospike-6.5

Another command you can use to help you troubleshoot is to do “show scans”, which will give the state of the scan done by the database, weather done through java or aql.

Do any java client examples in the demo application work?

Yes all the others except for these scans

guidance please

I am still stuck at

The control doesnt come out of

while (pos < length) {
			int count = bis.read(dataBuffer, pos, length - pos);

!!!

It’s not clear what is really happening in your case. There is some sort of networking issue going on. I suggest adding logging statements in the client code to obtain more information about cause of failure and run packaged scan example.

For example:

MultiCommand.java: in readBytes() add

    Log.info("readBytes " + length);

Connection.java: right before socket.connect() add

    Log.info("Connect " + address);

Node.java: in getConnection() change first block to following:

    Log.info("getConnection " + timeoutMillis);
    while ((conn = connectionQueue.poll()) != null) {        
        if (conn.isValid()) {
            try {
                conn.setTimeout(timeoutMillis);
                Log.info("found connection " + conn);
                return conn;
            }
            catch (Exception e) {
                // Set timeout failed. Something is probably wrong with timeout
                // value itself, so don't empty queue retrying.  Just get out.
                Log.info("connection failed " + conn);
                closeConnection(conn);
                throw new AerospikeException.Connection(e);
            }
        }
        Log.info("connection not valid " + conn);
        closeConnection(conn);
    }
    Log.info("create connection");