Search in sources :

Example 86 with Lock

use of java.util.concurrent.locks.Lock in project databus by linkedin.

the class DbusEventsStatisticsCollector method resetAndMerge.

@Override
public void resetAndMerge(List<DbusEventsStatisticsCollector> objList) {
    //make a copy ; reset; aggregate; then do atomic copy
    DbusEventsTotalStats t = _totalStats.clone(true);
    t.reset();
    for (DbusEventsStatisticsCollector o : objList) {
        t.mergeStats(o.getTotalStats());
    }
    //update this object's state atomically
    Lock writeLock = acquireWriteLock();
    try {
        //atomic clone of t into totalStats;
        _totalStats.cloneData(t);
        resetInternalStats();
        for (DbusEventsStatisticsCollector o : objList) {
            mergeInternalStats(o);
        }
    } finally {
        releaseLock(writeLock);
    }
}
Also used : Lock(java.util.concurrent.locks.Lock)

Example 87 with Lock

use of java.util.concurrent.locks.Lock in project databus by linkedin.

the class DbusEventsStatisticsCollector method getOrAddPerPeerCollector.

private DbusEventsTotalStats getOrAddPerPeerCollector(String peer, Lock writeLock) {
    Lock myWriteLock = null;
    if (null == writeLock)
        myWriteLock = acquireWriteLock();
    try {
        DbusEventsTotalStats peerStats = _perPeerStats.get(peer);
        if (null == peerStats) {
            peerStats = new AggregatedDbusEventsTotalStats(_id, _perPeerNamePrefix + peer, true, isThreadSafe(), null);
            _perPeerStats.put(peer, peerStats);
            if (null != _mbeanServer) {
                peerStats.registerAsMbean(_mbeanServer);
            }
        }
        return peerStats;
    } finally {
        releaseLock(myWriteLock);
    }
}
Also used : Lock(java.util.concurrent.locks.Lock)

Example 88 with Lock

use of java.util.concurrent.locks.Lock in project databus by linkedin.

the class DbusEventsTotalStats method getSizeDataEventsPayload.

@Override
public long getSizeDataEventsPayload() {
    Lock readLock = acquireReadLock();
    long result = 0;
    try {
        long num = _event.numDataEvents;
        result = (0 == num) ? 0 : _event.sizeDataEventsPayload / num;
    } finally {
        releaseLock(readLock);
    }
    return result;
}
Also used : Lock(java.util.concurrent.locks.Lock)

Example 89 with Lock

use of java.util.concurrent.locks.Lock in project databus by linkedin.

the class DbusEventsTotalStats method getNumDataEventsFiltered.

@Override
public long getNumDataEventsFiltered() {
    Lock readLock = acquireReadLock();
    long result = 0;
    try {
        result = _event.numDataEventsFiltered;
    } finally {
        releaseLock(readLock);
    }
    return result;
}
Also used : Lock(java.util.concurrent.locks.Lock)

Example 90 with Lock

use of java.util.concurrent.locks.Lock in project databus by linkedin.

the class DbusEventsTotalStats method getNumDataEvents.

@Override
public long getNumDataEvents() {
    Lock readLock = acquireReadLock();
    long result = 0;
    try {
        result = _event.numDataEvents;
    } finally {
        releaseLock(readLock);
    }
    return result;
}
Also used : Lock(java.util.concurrent.locks.Lock)

Aggregations

Lock (java.util.concurrent.locks.Lock)817 ReentrantReadWriteLock (java.util.concurrent.locks.ReentrantReadWriteLock)200 ReadWriteLock (java.util.concurrent.locks.ReadWriteLock)171 ReentrantLock (java.util.concurrent.locks.ReentrantLock)121 Test (org.junit.Test)68 ArrayList (java.util.ArrayList)48 IOException (java.io.IOException)43 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)39 CountDownLatch (java.util.concurrent.CountDownLatch)36 HashMap (java.util.HashMap)26 Map (java.util.Map)25 Triple (org.apache.clerezza.commons.rdf.Triple)21 Condition (java.util.concurrent.locks.Condition)19 Ignite (org.apache.ignite.Ignite)19 IgniteCheckedException (org.apache.ignite.IgniteCheckedException)18 OSBTreeBonsaiLocalException (com.orientechnologies.orient.core.exception.OSBTreeBonsaiLocalException)13 OAtomicOperation (com.orientechnologies.orient.core.storage.impl.local.paginated.atomicoperations.OAtomicOperation)13 RandomAccessFile (java.io.RandomAccessFile)13 HashSet (java.util.HashSet)13 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)13