From: <cl...@hy...> - 2007-05-30 06:04:33
|
Author: clee Date: 2007-05-29 23:04:21 -0700 (Tue, 29 May 2007) New Revision: 4571 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=4571 Modified: branches/HQ_3_0/src/org/hyperic/hq/measurement/server/mbean/AvailabilityCheckService.java branches/HQ_3_0/src/org/hyperic/hq/measurement/server/session/DataManagerEJBImpl.java Log: Fix for update failing and backfiller overwriting agent data [merge from HEAD] Modified: branches/HQ_3_0/src/org/hyperic/hq/measurement/server/mbean/AvailabilityCheckService.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/measurement/server/mbean/AvailabilityCheckService.java 2007-05-30 05:59:45 UTC (rev 4570) +++ branches/HQ_3_0/src/org/hyperic/hq/measurement/server/mbean/AvailabilityCheckService.java 2007-05-30 06:04:21 UTC (rev 4571) @@ -126,8 +126,6 @@ HashMap availMap = new HashMap(); ArrayList downPlatforms = new ArrayList(); - // List of DataPoints to add at the end of all this mayhem - List addData = new ArrayList(); // Let's be safe and reset the time to current current = System.currentTimeMillis(); for (Iterator it = dmList.iterator(); it.hasNext(); ) { @@ -181,7 +179,7 @@ // Insert the missing data point mval = new MetricValue(MeasurementConstants.AVAIL_DOWN, theMissing[i]); - addData.add(new DataPoint(dm.getId(), mval)); + getDataMan().addData(dm.getId(), mval, false); } // Check SRN to see if somehow the agent lost the schedule @@ -289,13 +287,9 @@ // Insert the missing data point mval = new MetricValue(MeasurementConstants.AVAIL_DOWN, theMissing[i]); - addData.add(new DataPoint(dm.getId(), mval)); + getDataMan().addData(dm.getId(), mval, false); } } - watch.markTimeBegin("addData"); - getDataMan().addData(addData, false); - watch.markTimeEnd("addData"); - log.debug(watch); } Modified: branches/HQ_3_0/src/org/hyperic/hq/measurement/server/session/DataManagerEJBImpl.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/measurement/server/session/DataManagerEJBImpl.java 2007-05-30 05:59:45 UTC (rev 4570) +++ branches/HQ_3_0/src/org/hyperic/hq/measurement/server/session/DataManagerEJBImpl.java 2007-05-30 06:04:21 UTC (rev 4571) @@ -256,7 +256,7 @@ left = insertData(conn, left); _log.debug("Num left = " + left.size()); - if (left.isEmpty()) + if (!overwrite || left.isEmpty()) break; // The insert couldn't insert everything, so attempt to update @@ -329,9 +329,10 @@ _log.warn("Unable to insert infinite or NaN for metric id=" + metricId); continue; } - stmt.setInt(1, metricId.intValue()); - stmt.setLong(2, val.getTimestamp()); - stmt.setBigDecimal(3, getDecimalInRange(bigDec)); + int idx = 1; + stmt.setBigDecimal(idx++, getDecimalInRange(bigDec)); + stmt.setInt(idx++, metricId.intValue()); + stmt.setLong(idx++, val.getTimestamp()); stmt.addBatch(); } |