Mercurial > hg > release > thermostat-1.0
changeset 389:cfbc2b43142e
Fix a crash in HeapDAO
reviewed-by: rkennke
review-thread: http://icedtea.classpath.org/pipermail/thermostat/2012-June/001890.html
author | Mario Torre <neugens.limasoftware@gmail.com> |
---|---|
date | Tue, 19 Jun 2012 19:00:28 +0200 |
parents | 5b3cb3635fca |
children | 7a5ea4137f04 |
files | common/core/src/main/java/com/redhat/thermostat/common/dao/HeapDAOImpl.java common/core/src/test/java/com/redhat/thermostat/common/dao/HeapDAOTest.java |
diffstat | 2 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/common/core/src/main/java/com/redhat/thermostat/common/dao/HeapDAOImpl.java Tue Jun 19 14:38:18 2012 +0200 +++ b/common/core/src/main/java/com/redhat/thermostat/common/dao/HeapDAOImpl.java Tue Jun 19 19:00:28 2012 +0200 @@ -52,6 +52,7 @@ HeapDAOImpl(Storage storage) { this.storage = storage; + storage.createConnectionKey(heapInfoCategory); } @Override @@ -66,7 +67,6 @@ if (heapDumpData != null) { chunk.put(heapDumpIdKey, heapDumpId); } - storage.createConnectionKey(heapInfoCategory); storage.putChunk(chunk); if (heapDumpData != null) { storage.saveFile(heapDumpId, heapDumpData); @@ -75,6 +75,7 @@ @Override public Collection<HeapInfo> getAllHeapInfo(VmRef vm) { + Chunk query = new Chunk(heapInfoCategory, false); query.put(Key.AGENT_ID, vm.getAgent().getAgentId()); query.put(Key.VM_ID, vm.getId());
--- a/common/core/src/test/java/com/redhat/thermostat/common/dao/HeapDAOTest.java Tue Jun 19 14:38:18 2012 +0200 +++ b/common/core/src/test/java/com/redhat/thermostat/common/dao/HeapDAOTest.java Tue Jun 19 19:00:28 2012 +0200 @@ -76,6 +76,7 @@ public void setUp() { storage = mock(Storage.class); dao = new HeapDAOImpl(storage); + HostRef host = new HostRef("987", "test-host"); VmRef vm = new VmRef(host, 123, "test-vm"); heapInfo = new HeapInfo(vm, 12345); @@ -154,6 +155,11 @@ @Test public void testGetAllHeapInfo() { + + // verify a connection key has been created before requesting the + // heap dumps + verify(storage).createConnectionKey(HeapDAO.heapInfoCategory); + HostRef host = new HostRef("123", "test-host"); VmRef vm = new VmRef(host, 234, "test-vm"); Collection<HeapInfo> heapInfos = dao.getAllHeapInfo(vm);