Skip to content

Commit

Permalink
Move JobScheduler to separate package in common
Browse files Browse the repository at this point in the history
  • Loading branch information
burqen committed May 18, 2017
1 parent bfae453 commit 818bc0c
Show file tree
Hide file tree
Showing 90 changed files with 123 additions and 118 deletions.
Expand Up @@ -70,7 +70,7 @@
import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge;
import org.neo4j.kernel.impl.logging.LogService;
import org.neo4j.kernel.impl.spi.KernelContext;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.internal.GraphDatabaseAPI;
import org.neo4j.kernel.lifecycle.LifeSupport;
import org.neo4j.kernel.lifecycle.Lifecycle;
Expand All @@ -83,7 +83,7 @@
import static org.neo4j.kernel.configuration.Settings.PATH;
import static org.neo4j.kernel.configuration.Settings.derivedSetting;
import static org.neo4j.kernel.configuration.Settings.pathSetting;
import static org.neo4j.kernel.impl.util.JobScheduler.Groups.boltNetworkIO;
import static org.neo4j.scheduler.JobScheduler.Groups.boltNetworkIO;

/**
* Wraps Bolt and exposes it as a Kernel Extension.
Expand Down
Expand Up @@ -27,11 +27,11 @@
import org.neo4j.bolt.v1.runtime.BoltWorker;
import org.neo4j.bolt.v1.runtime.WorkerFactory;
import org.neo4j.kernel.impl.logging.LogService;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;

import static org.neo4j.helpers.collection.MapUtil.stringMap;
import static org.neo4j.kernel.impl.util.JobScheduler.Group.THREAD_ID;
import static org.neo4j.kernel.impl.util.JobScheduler.Groups.sessionWorker;
import static org.neo4j.scheduler.JobScheduler.Group.THREAD_ID;
import static org.neo4j.scheduler.JobScheduler.Groups.sessionWorker;

/**
* A {@link WorkerFactory} implementation that creates one thread for every session started, requests are then executed
Expand Down
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.util;
package org.neo4j.scheduler;

import java.util.Collections;
import java.util.Map;
Expand All @@ -29,8 +29,8 @@

import org.neo4j.kernel.lifecycle.Lifecycle;

import static org.neo4j.kernel.impl.util.JobScheduler.SchedulingStrategy.NEW_THREAD;
import static org.neo4j.kernel.impl.util.JobScheduler.SchedulingStrategy.POOLED;
import static org.neo4j.scheduler.JobScheduler.SchedulingStrategy.NEW_THREAD;
import static org.neo4j.scheduler.JobScheduler.SchedulingStrategy.POOLED;

/**
* To be expanded, the idea here is to have a database-global service for running jobs, handling jobs crashing and so on.
Expand Down
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.util;
package org.neo4j.scheduler;

import java.util.Map;
import java.util.concurrent.Executor;
Expand Down
Expand Up @@ -22,9 +22,9 @@
import java.util.Queue;
import java.util.concurrent.LinkedBlockingQueue;

import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;

import static org.neo4j.kernel.impl.util.JobScheduler.Groups.recoveryCleanup;
import static org.neo4j.scheduler.JobScheduler.Groups.recoveryCleanup;

/**
* Collects recovery cleanup work to be performed and {@link #run() runs} them all as one job,
Expand Down
Expand Up @@ -27,7 +27,7 @@
import java.util.LinkedList;
import java.util.List;

import org.neo4j.kernel.impl.util.JobSchedulerAdapter;
import org.neo4j.scheduler.JobSchedulerAdapter;

import static org.junit.Assert.assertTrue;

Expand Down
Expand Up @@ -136,7 +136,7 @@
import org.neo4j.kernel.impl.transaction.log.rotation.LogRotationImpl;
import org.neo4j.kernel.impl.transaction.state.NeoStoreFileListing;
import org.neo4j.kernel.impl.util.Dependencies;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.impl.util.SynchronizedArrayIdOrderingQueue;
import org.neo4j.kernel.info.DiagnosticsExtractor;
import org.neo4j.kernel.info.DiagnosticsManager;
Expand Down
Expand Up @@ -26,7 +26,7 @@
import org.neo4j.kernel.impl.logging.LogService;
import org.neo4j.kernel.impl.proc.Procedures;
import org.neo4j.kernel.impl.util.DependencySatisfier;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.lifecycle.LifeSupport;

public abstract class SecurityModule extends Service
Expand Down
Expand Up @@ -31,7 +31,7 @@
import org.neo4j.kernel.impl.transaction.tracing.StoreApplyEvent;
import org.neo4j.kernel.impl.transaction.tracing.TransactionEvent;
import org.neo4j.kernel.impl.transaction.tracing.TransactionTracer;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.time.Clocks;
import org.neo4j.time.SystemNanoClock;

Expand Down
Expand Up @@ -56,7 +56,7 @@
import org.neo4j.kernel.impl.store.UnderlyingStorageException;
import org.neo4j.kernel.impl.store.record.IndexRule;
import org.neo4j.kernel.impl.transaction.state.IndexUpdates;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.lifecycle.LifecycleAdapter;
import org.neo4j.logging.Log;
import org.neo4j.logging.LogProvider;
Expand All @@ -69,7 +69,7 @@
import static org.neo4j.helpers.collection.Iterables.asList;
import static org.neo4j.kernel.api.index.InternalIndexState.FAILED;
import static org.neo4j.kernel.impl.api.index.IndexPopulationFailure.failure;
import static org.neo4j.kernel.impl.util.JobScheduler.Groups.indexPopulation;
import static org.neo4j.scheduler.JobScheduler.Groups.indexPopulation;

/**
* Manages the indexes that were introduced in 2.0. These indexes depend on the normal neo4j logical log for
Expand Down
Expand Up @@ -26,7 +26,7 @@
import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingController;
import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingControllerFactory;
import org.neo4j.kernel.impl.store.record.IndexRule;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.logging.LogProvider;

/**
Expand Down
Expand Up @@ -29,12 +29,12 @@
import org.neo4j.kernel.impl.api.index.IndexMap;
import org.neo4j.kernel.impl.api.index.IndexMapSnapshotProvider;
import org.neo4j.kernel.impl.api.index.IndexProxy;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.kernel.impl.util.JobScheduler.JobHandle;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.scheduler.JobScheduler.JobHandle;

import static java.util.concurrent.TimeUnit.SECONDS;
import static org.neo4j.kernel.impl.api.index.sampling.IndexSamplingMode.BACKGROUND_REBUILD_UPDATED;
import static org.neo4j.kernel.impl.util.JobScheduler.Groups.indexSamplingController;
import static org.neo4j.scheduler.JobScheduler.Groups.indexSamplingController;

public class IndexSamplingController
{
Expand Down
Expand Up @@ -25,7 +25,7 @@
import org.neo4j.kernel.api.schema.index.IndexDescriptor;
import org.neo4j.kernel.impl.api.index.IndexMapSnapshotProvider;
import org.neo4j.kernel.impl.api.index.IndexStoreView;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.logging.Log;
import org.neo4j.logging.LogProvider;
import org.neo4j.register.Register.DoubleLongRegister;
Expand Down
Expand Up @@ -26,7 +26,7 @@
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;

public class IndexSamplingJobTracker
{
Expand Down
Expand Up @@ -49,7 +49,7 @@
import org.neo4j.kernel.impl.store.id.configuration.IdTypeConfigurationProvider;
import org.neo4j.kernel.impl.transaction.TransactionHeaderInformationFactory;
import org.neo4j.kernel.impl.util.DependencySatisfier;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.impl.util.watcher.DefaultFileDeletionEventListener;
import org.neo4j.kernel.impl.util.watcher.DefaultFileSystemWatcherService;
import org.neo4j.kernel.impl.util.watcher.FileSystemWatcherService;
Expand Down
Expand Up @@ -46,7 +46,7 @@
import org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointerMonitor;
import org.neo4j.kernel.impl.transaction.log.checkpoint.StoreCopyCheckPointMutex;
import org.neo4j.kernel.impl.transaction.state.DataSourceManager;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.impl.util.Neo4jJobScheduler;
import org.neo4j.kernel.info.DiagnosticsManager;
import org.neo4j.kernel.info.JvmChecker;
Expand Down
Expand Up @@ -29,7 +29,7 @@
import java.util.function.Consumer;

import org.neo4j.io.fs.FileSystemAbstraction;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.lifecycle.Lifecycle;
import org.neo4j.logging.FormattedLogProvider;
import org.neo4j.logging.Level;
Expand Down
Expand Up @@ -105,7 +105,7 @@
import org.neo4j.kernel.impl.transaction.state.storeview.NeoStoreIndexStoreView;
import org.neo4j.kernel.impl.util.DependencySatisfier;
import org.neo4j.kernel.impl.util.IdOrderingQueue;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.info.DiagnosticsManager;
import org.neo4j.kernel.internal.DatabaseHealth;
import org.neo4j.kernel.lifecycle.Lifecycle;
Expand Down
Expand Up @@ -27,7 +27,7 @@
import org.neo4j.kernel.impl.store.id.IdGeneratorFactory;
import org.neo4j.kernel.impl.store.id.IdReuseEligibility;
import org.neo4j.kernel.impl.store.id.configuration.IdTypeConfigurationProvider;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.lifecycle.LifecycleAdapter;

/**
Expand Down
Expand Up @@ -25,13 +25,13 @@
import org.neo4j.function.Predicates;
import org.neo4j.io.pagecache.IOLimiter;
import org.neo4j.kernel.impl.store.UnderlyingStorageException;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.internal.DatabaseHealth;
import org.neo4j.kernel.lifecycle.LifecycleAdapter;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;

import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.neo4j.kernel.impl.util.JobScheduler.Groups.checkPoint;
import static org.neo4j.scheduler.JobScheduler.Groups.checkPoint;

public class CheckPointScheduler extends LifecycleAdapter
{
Expand Down
Expand Up @@ -26,7 +26,7 @@
import org.neo4j.kernel.impl.transaction.tracing.LogCheckPointEvent;
import org.neo4j.kernel.impl.transaction.tracing.LogForceEvent;
import org.neo4j.kernel.impl.transaction.tracing.LogForceWaitEvent;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.time.Clocks;
import org.neo4j.time.SystemNanoClock;

Expand Down
Expand Up @@ -36,11 +36,12 @@

import org.neo4j.helpers.Exceptions;
import org.neo4j.kernel.lifecycle.LifecycleAdapter;
import org.neo4j.scheduler.JobScheduler;

import static java.util.concurrent.Executors.newCachedThreadPool;
import static org.neo4j.helpers.NamedThreadFactory.daemon;
import static org.neo4j.kernel.impl.util.DebugUtil.trackTest;
import static org.neo4j.kernel.impl.util.JobScheduler.Group.NO_METADATA;
import static org.neo4j.scheduler.JobScheduler.Group.NO_METADATA;

public class Neo4jJobScheduler extends LifecycleAdapter implements JobScheduler
{
Expand Down
Expand Up @@ -27,6 +27,7 @@
import java.util.function.Consumer;

import org.neo4j.function.Factory;
import org.neo4j.scheduler.JobScheduler;

import static java.lang.String.format;
import static java.lang.System.currentTimeMillis;
Expand All @@ -38,7 +39,7 @@
* acquire/release methods.
*
* The {@link #run()} method here performs one "sweep", checking for idle entries to reap. You will want to trigger
* that run on a recurring basis, for instance using {@link org.neo4j.kernel.impl.util.JobScheduler}.
* that run on a recurring basis, for instance using {@link JobScheduler}.
*/
public class TimedRepository<KEY, VALUE> implements Runnable
{
Expand Down
Expand Up @@ -22,7 +22,7 @@
import java.util.concurrent.ThreadFactory;

import org.neo4j.io.fs.watcher.FileWatcher;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;

/**
* Factory used for construction of proper adaptor for available {@link FileWatcher}.
Expand Down
Expand Up @@ -22,7 +22,7 @@
import java.util.concurrent.ThreadFactory;

import org.neo4j.io.fs.watcher.FileWatcher;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.lifecycle.LifecycleAdapter;

/**
Expand Down
Expand Up @@ -25,7 +25,7 @@
import org.neo4j.kernel.impl.transaction.log.checkpoint.DefaultCheckPointerTracer;
import org.neo4j.kernel.impl.transaction.tracing.CheckPointTracer;
import org.neo4j.kernel.impl.transaction.tracing.TransactionTracer;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.monitoring.Monitors;

/**
Expand Down
Expand Up @@ -25,7 +25,7 @@
import org.neo4j.kernel.impl.locking.LockTracer;
import org.neo4j.kernel.impl.transaction.tracing.CheckPointTracer;
import org.neo4j.kernel.impl.transaction.tracing.TransactionTracer;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.monitoring.Monitors;

/**
Expand Down
Expand Up @@ -26,7 +26,7 @@
import org.neo4j.kernel.impl.locking.LockTracer;
import org.neo4j.kernel.impl.transaction.tracing.CheckPointTracer;
import org.neo4j.kernel.impl.transaction.tracing.TransactionTracer;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.monitoring.Monitors;
import org.neo4j.logging.Log;

Expand Down
4 changes: 2 additions & 2 deletions community/kernel/src/main/java/org/neo4j/udc/UsageData.java
Expand Up @@ -21,11 +21,11 @@

import java.util.concurrent.ConcurrentHashMap;

import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.lifecycle.LifecycleAdapter;

import static java.util.concurrent.TimeUnit.DAYS;
import static org.neo4j.kernel.impl.util.JobScheduler.Groups.udc;
import static org.neo4j.scheduler.JobScheduler.Groups.udc;

/**
* An in-memory storage location for usage metadata.
Expand Down
Expand Up @@ -23,7 +23,7 @@

import org.neo4j.kernel.impl.spi.KernelContext;
import org.neo4j.kernel.impl.util.Dependencies;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.impl.util.UnsatisfiedDependencyException;
import org.neo4j.kernel.lifecycle.LifeSupport;
import org.neo4j.kernel.lifecycle.Lifecycle;
Expand Down
Expand Up @@ -57,7 +57,7 @@
import org.neo4j.kernel.impl.transaction.TransactionRepresentation;
import org.neo4j.kernel.impl.transaction.log.TransactionIdStore;
import org.neo4j.kernel.impl.transaction.tracing.CommitEvent;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.lifecycle.LifeSupport;
import org.neo4j.kernel.monitoring.Monitors;
import org.neo4j.kernel.monitoring.tracing.Tracers;
Expand Down
Expand Up @@ -84,7 +84,7 @@
import org.neo4j.kernel.impl.transaction.state.DefaultSchemaIndexProviderMap;
import org.neo4j.kernel.impl.transaction.state.DirectIndexUpdates;
import org.neo4j.kernel.impl.transaction.state.IndexUpdates;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.impl.util.Neo4jJobScheduler;
import org.neo4j.kernel.lifecycle.LifeRule;
import org.neo4j.kernel.lifecycle.LifecycleException;
Expand Down
Expand Up @@ -29,7 +29,7 @@
import org.neo4j.kernel.impl.api.index.IndexMap;
import org.neo4j.kernel.impl.api.index.IndexMapSnapshotProvider;
import org.neo4j.kernel.impl.api.index.IndexProxy;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.test.DoubleLatch;

import static org.junit.Assert.assertEquals;
Expand Down
Expand Up @@ -32,7 +32,7 @@
import org.neo4j.kernel.api.schema.SchemaDescriptorFactory;
import org.neo4j.kernel.api.schema.index.IndexDescriptor;
import org.neo4j.kernel.api.schema.index.IndexDescriptorFactory;
import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.kernel.impl.util.Neo4jJobScheduler;
import org.neo4j.test.DoubleLatch;

Expand Down
Expand Up @@ -50,7 +50,7 @@
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;
import static org.neo4j.kernel.impl.util.JobScheduler.Groups.checkPoint;
import static org.neo4j.scheduler.JobScheduler.Groups.checkPoint;

public class CheckPointSchedulerTest
{
Expand Down
Expand Up @@ -25,6 +25,8 @@
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;

import org.neo4j.scheduler.JobScheduler;

public class CountingJobScheduler implements JobScheduler
{
private final AtomicInteger counter;
Expand Down

0 comments on commit 818bc0c

Please sign in to comment.