Command send to primary only

Although ReadPreference had been set to secondaryPreferred, when fetching data, it seems that command was only being sent to primary, not secondary.
Here application logs:

DEBUG 84313 --- [localhost:27019] org.mongodb.driver.cluster               : Updating cluster description to  {type=REPLICA_SET, servers=[{address=localhost:27019, type=REPLICA_SET_SECONDARY, roundTripTime=1.8 ms, state=CONNECTED}]
DEBUG 84313 --- [localhost:27018] org.mongodb.driver.cluster               : Checking status of localhost:27018
DEBUG 84313 --- [localhost:27018] org.mongodb.driver.cluster               : Updating cluster description to  {type=REPLICA_SET, servers=[{address=localhost:27018, type=REPLICA_SET_PRIMARY, roundTripTime=1.9 ms, state=CONNECTED}]
DEBUG 84313 --- [  XNIO-2 task-1] org.mongodb.driver.protocol.command      : Sending command {find : BsonString{value='data_cache'}} to database abc_xyz on connection [connectionId{localValue:3, serverValue:2784}] to server localhost:27018
DEBUG 84313 --- [localhost:27019] org.mongodb.driver.cluster               : Checking status of localhost:27019

Is this the correct behavior? Is there any other way to check whether data was fetch from primary or secondary?