# 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.
}
}
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.
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");