summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2012-08-21 09:52:04 -0400
committerBernard Normier <bernard@zeroc.com>2012-08-21 09:52:04 -0400
commit45fa1eae7c9a482917d3c9613cebaa75e6035ca9 (patch)
treec9921e0f8ee7074bef9ec06856f67ece29bb5ffa /cpp/src/Freeze/BackgroundSaveEvictorI.cpp
parentFixed ICE-4602 (diff)
downloadice-45fa1eae7c9a482917d3c9613cebaa75e6035ca9.tar.bz2
ice-45fa1eae7c9a482917d3c9613cebaa75e6035ca9.tar.xz
ice-45fa1eae7c9a482917d3c9613cebaa75e6035ca9.zip
Fixed ICE-2097: with Ice encoding > 1.0, Freeze evictors no longer maintain
or store statistics.
Diffstat (limited to 'cpp/src/Freeze/BackgroundSaveEvictorI.cpp')
-rw-r--r--cpp/src/Freeze/BackgroundSaveEvictorI.cpp30
1 files changed, 23 insertions, 7 deletions
diff --git a/cpp/src/Freeze/BackgroundSaveEvictorI.cpp b/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
index 1d8fa7acce4..f71a286b2d9 100644
--- a/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
+++ b/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
@@ -301,10 +301,12 @@ Freeze::BackgroundSaveEvictorI::addFacet(const ObjectPtr& servant, const Identit
ObjectRecord& rec = element->rec;
rec.servant = servant;
- rec.stats.creationTime = IceUtil::Time::now(IceUtil::Time::Monotonic).toMilliSeconds();
- rec.stats.lastSaveTime = 0;
- rec.stats.avgSaveTime = 0;
-
+ if(_encoding == Ice::Encoding_1_0)
+ {
+ rec.stats.creationTime = IceUtil::Time::now(IceUtil::Time::Monotonic).toMilliSeconds();
+ rec.stats.lastSaveTime = 0;
+ rec.stats.avgSaveTime = 0;
+ }
addToModifiedQueue(element);
break;
}
@@ -932,7 +934,11 @@ Freeze::BackgroundSaveEvictorI::run()
deque<StreamedObject> streamedObjectQueue;
- Long streamStart = IceUtil::Time::now(IceUtil::Time::Monotonic).toMilliSeconds();
+ Long streamStart = 0;
+ if(_encoding == Ice::Encoding_1_0 || _trace >= 1)
+ {
+ streamStart = IceUtil::Time::now(IceUtil::Time::Monotonic).toMilliSeconds();
+ }
//
// Stream each element
@@ -1114,7 +1120,12 @@ Freeze::BackgroundSaveEvictorI::run()
txSize = streamedObjectQueue.size();
}
- Long saveStart = IceUtil::Time::now(IceUtil::Time::Monotonic).toMilliSeconds();
+ Long saveStart = 0;
+ if(_encoding == Ice::Encoding_1_0 || _trace >= 1)
+ {
+ saveStart = IceUtil::Time::now(IceUtil::Time::Monotonic).toMilliSeconds();
+ }
+
try
{
DbTxn* tx = 0;
@@ -1399,7 +1410,10 @@ Freeze::BackgroundSaveEvictorI::stream(const BackgroundSaveEvictorElementPtr& el
if(element->status != destroyed)
{
- EvictorIBase::updateStats(element->rec.stats, streamStart);
+ if(_encoding == Ice::Encoding_1_0)
+ {
+ EvictorIBase::updateStats(element->rec.stats, streamStart);
+ }
ObjectStoreBase::marshal(element->rec, obj.value, _communicator, _encoding);
}
}
@@ -1422,6 +1436,8 @@ Freeze::BackgroundSaveEvictorElement::BackgroundSaveEvictorElement(ObjectStore<B
stale(true),
status(clean)
{
+ const Statistics cleanStats = { 0 };
+ rec.stats = cleanStats;
}
Freeze::BackgroundSaveEvictorElement::~BackgroundSaveEvictorElement()