Github user alfonsonishikawa commented on a diff in the pull request: https://github.com/apache/gora/pull/127#discussion_r168014313 --- Diff: gora-aerospike/src/main/java/org/apache/gora/aerospike/store/AerospikeStore.java --- @@ -159,17 +167,25 @@ public boolean schemaExists() { * @return the Object corresponding to the key or null if it cannot be found */ @Override - public T get(K key, String[] fields) { - - Key recordKey = getAerospikeKey(key); - fields = getFieldsToQuery(fields); + public T get(K key, String[] fields) throws GoraException { - Record record = aerospikeClient - .get(aerospikeParameters.getAerospikeMapping().getReadPolicy(), recordKey, fields); - if (record == null) { - return null; + try { + Key recordKey = getAerospikeKey(key); + fields = getFieldsToQuery(fields); + + Record record = aerospikeClient + .get(aerospikeParameters.getAerospikeMapping().getReadPolicy(), recordKey, fields); + + if (record == null) { + return null; + } + return createPersistentInstance(record, fields); + } catch (GoraException e) { + throw e; --- End diff -- Hi! Yes. Notice that createPersistentInstance has been updated to throw GoraException. Throughout the changes, GoraException is being used as a simple wrapper to have a common interface for all datastores, so as you can see two lines bellow in this diff, any exception (not GoraException) is logged and wrapped. In the case of a catch of a GoraException we can safely assume that it is already logged and wraping other exception (or maybe an actual GoraException but this does not make difference) and we wouldn't want to wrap it again because that would be useless and would hide the exception's parent exception in an indefinite sequence. Maybe it is not the best solution, but I didn't get to any better. If you have any suggestion it will be welcome!
---