Skip to content

Commit

Permalink
Move feature toggles out of the dungeon to commons package
Browse files Browse the repository at this point in the history
Feature toggles are commonly used across the modules and there is no
reason to keep them in a package that is not related to what they are
doing.
  • Loading branch information
MishaDemianenko committed Jan 31, 2018
1 parent 7b0eb1c commit 94fec72
Show file tree
Hide file tree
Showing 34 changed files with 45 additions and 42 deletions.
Expand Up @@ -39,7 +39,7 @@
import org.neo4j.kernel.configuration.BoltConnector;
import org.neo4j.kernel.configuration.ConnectorPortRegister;
import org.neo4j.kernel.lifecycle.LifecycleAdapter;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

/**
* Simple wrapper around Netty boss and selector threads, which allows multiple ports and protocols to be handled
Expand Down
Expand Up @@ -26,7 +26,7 @@
import java.nio.charset.CharsetEncoder;
import java.nio.charset.StandardCharsets;

import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.getInteger;
import static org.neo4j.util.FeatureToggles.getInteger;

/**
* This is a specialized UTF-8 encoder that solves two predicaments:
Expand Down
Expand Up @@ -25,7 +25,7 @@
import java.util.concurrent.atomic.AtomicInteger;

import org.neo4j.logging.Log;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

import static java.util.Objects.requireNonNull;

Expand Down
Expand Up @@ -25,7 +25,7 @@
import org.junit.Test;

import org.neo4j.logging.Log;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.startsWith;
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.unsafe.impl.internal.dragons;
package org.neo4j.util;

import java.util.Objects;

Expand Down
Expand Up @@ -22,7 +22,7 @@
import org.neo4j.unsafe.impl.internal.dragons.UnsafeUtil;

import static org.neo4j.io.ByteUnit.kibiBytes;
import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.getInteger;
import static org.neo4j.util.FeatureToggles.getInteger;

/**
* This memory allocator is allocating memory in large segments, called "grabs", and the memory returned by the memory
Expand Down
Expand Up @@ -20,8 +20,8 @@
package org.neo4j.io.pagecache.impl.muninn;

import org.neo4j.concurrent.BinaryLatch;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.unsafe.impl.internal.dragons.UnsafeUtil;
import org.neo4j.util.FeatureToggles;

/**
* The LatchMap is used by the {@link MuninnPagedFile} to coordinate concurrent page faults, and ensure that no two
Expand Down
Expand Up @@ -49,8 +49,8 @@
import org.neo4j.io.pagecache.tracing.cursor.PageCursorTracerSupplier;
import org.neo4j.unsafe.impl.internal.dragons.UnsafeUtil;

import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.flag;
import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.getInteger;
import static org.neo4j.util.FeatureToggles.flag;
import static org.neo4j.util.FeatureToggles.getInteger;

/**
* The Muninn {@link org.neo4j.io.pagecache.PageCache page cache} implementation.
Expand Down
Expand Up @@ -36,7 +36,7 @@
import static org.neo4j.io.pagecache.PagedFile.PF_NO_FAULT;
import static org.neo4j.io.pagecache.PagedFile.PF_SHARED_WRITE_LOCK;
import static org.neo4j.io.pagecache.impl.muninn.MuninnPagedFile.UNMAPPED_TTE;
import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.flag;
import static org.neo4j.util.FeatureToggles.flag;

abstract class MuninnPageCursor extends PageCursor
{
Expand Down
Expand Up @@ -21,17 +21,17 @@

import java.io.IOException;

import org.neo4j.io.mem.MemoryAllocator;
import org.neo4j.io.pagecache.PageCursor;
import org.neo4j.io.pagecache.PageSwapper;
import org.neo4j.io.pagecache.tracing.EvictionEvent;
import org.neo4j.io.pagecache.tracing.EvictionEventOpportunity;
import org.neo4j.io.pagecache.tracing.FlushEvent;
import org.neo4j.io.pagecache.tracing.PageFaultEvent;
import org.neo4j.io.mem.MemoryAllocator;
import org.neo4j.unsafe.impl.internal.dragons.UnsafeUtil;

import static java.lang.String.format;
import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.flag;
import static org.neo4j.util.FeatureToggles.flag;

/**
* The PageList maintains the off-heap meta-data for the individual memory pages.
Expand Down
Expand Up @@ -34,7 +34,7 @@
import org.neo4j.io.pagecache.CursorException;
import org.neo4j.io.pagecache.PageCursor;
import org.neo4j.io.pagecache.impl.DelegatingPageCursor;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

/**
* A read {@linkplain PageCursor page cursor} that wraps another page cursor and an {@linkplain Adversary adversary}
Expand Down
Expand Up @@ -35,7 +35,7 @@

import org.neo4j.helpers.collection.PrefetchingIterator;

import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.flag;
import static org.neo4j.util.FeatureToggles.flag;

/**
* A utility for locating services. This implements the same functionality as <a
Expand Down
Expand Up @@ -163,7 +163,7 @@
import org.neo4j.storageengine.api.StoreFileMetadata;
import org.neo4j.storageengine.api.StoreReadLayer;
import org.neo4j.time.SystemNanoClock;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

import static org.neo4j.helpers.Exceptions.throwIfUnchecked;

Expand Down
Expand Up @@ -55,8 +55,8 @@
import org.neo4j.storageengine.api.StorageStatement;

import static java.lang.String.format;
import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.flag;
import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.toggle;
import static org.neo4j.util.FeatureToggles.flag;
import static org.neo4j.util.FeatureToggles.toggle;

/**
* A resource efficient implementation of {@link Statement}. Designed to be reused within a
Expand Down
Expand Up @@ -36,7 +36,7 @@
import org.neo4j.kernel.api.exceptions.index.IndexPopulationFailedKernelException;
import org.neo4j.kernel.api.index.IndexEntryUpdate;
import org.neo4j.logging.LogProvider;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

import static java.util.stream.Collectors.joining;
import static org.neo4j.helpers.NamedThreadFactory.daemon;
Expand Down
Expand Up @@ -48,7 +48,7 @@
import org.neo4j.logging.LogProvider;
import org.neo4j.storageengine.api.schema.IndexSample;
import org.neo4j.storageengine.api.schema.PopulationProgress;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

import static java.lang.String.format;
import static org.neo4j.collection.primitive.PrimitiveIntCollections.contains;
Expand Down
Expand Up @@ -64,7 +64,7 @@
import org.neo4j.scheduler.JobScheduler;
import org.neo4j.udc.UsageData;
import org.neo4j.udc.UsageDataKeys;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

import static org.neo4j.kernel.impl.proc.temporal.TemporalFunction.registerTemporalFunctions;

Expand Down
Expand Up @@ -29,7 +29,7 @@
import org.neo4j.kernel.impl.util.concurrent.LockWaitStrategies;
import org.neo4j.storageengine.api.lock.ResourceType;
import org.neo4j.storageengine.api.lock.WaitStrategy;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;
import org.neo4j.values.storable.Value;
import org.neo4j.values.storable.Values;

Expand Down
Expand Up @@ -114,7 +114,7 @@
import org.neo4j.storageengine.api.schema.SchemaRule;
import org.neo4j.storageengine.api.txstate.ReadableTransactionState;
import org.neo4j.storageengine.api.txstate.TxStateVisitor;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

import static org.neo4j.kernel.impl.locking.LockService.NO_LOCK_SERVICE;
import static org.neo4j.storageengine.api.TransactionApplicationMode.RECOVERY;
Expand Down
Expand Up @@ -29,7 +29,7 @@
import org.neo4j.io.pagecache.PageCursor;
import org.neo4j.io.pagecache.PagedFile;

import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.flag;
import static org.neo4j.util.FeatureToggles.flag;

class KeyValueWriter implements Closeable
{
Expand Down
Expand Up @@ -25,10 +25,10 @@
import org.neo4j.function.Predicates;
import org.neo4j.io.pagecache.IOLimiter;
import org.neo4j.kernel.impl.store.UnderlyingStorageException;
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 org.neo4j.scheduler.JobScheduler;
import org.neo4j.util.FeatureToggles;

import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.neo4j.scheduler.JobScheduler.Groups.checkPoint;
Expand Down
Expand Up @@ -38,7 +38,7 @@
import org.neo4j.logging.Log;
import org.neo4j.logging.LogProvider;
import org.neo4j.register.Register;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;
import org.neo4j.values.storable.Value;

/**
Expand Down
Expand Up @@ -79,7 +79,7 @@
import org.neo4j.test.rule.RandomRule;
import org.neo4j.test.rule.TestDirectory;
import org.neo4j.test.rule.fs.DefaultFileSystemRule;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

import static org.hamcrest.Matchers.emptyArray;
import static org.hamcrest.Matchers.greaterThan;
Expand Down
Expand Up @@ -43,7 +43,7 @@
import org.neo4j.kernel.impl.transaction.state.storeview.NeoStoreIndexStoreView;
import org.neo4j.logging.NullLogProvider;
import org.neo4j.storageengine.api.schema.PopulationProgress;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;
import org.neo4j.values.storable.Values;

import static org.junit.Assert.assertSame;
Expand Down
Expand Up @@ -28,7 +28,7 @@

import org.neo4j.function.Predicates;
import org.neo4j.helpers.NamedThreadFactory;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

/**
* Lucene indexes merge scheduler that execute merges in a thread pool instead of starting separate thread for each
Expand Down
Expand Up @@ -30,7 +30,7 @@
import org.apache.lucene.index.SnapshotDeletionPolicy;

import org.neo4j.index.impl.lucene.explicit.LuceneDataSource;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

/**
* Helper factory for standard lucene index writer configuration.
Expand Down
Expand Up @@ -37,7 +37,7 @@
import java.util.zip.ZipOutputStream;

import org.neo4j.io.fs.FileSystemAbstraction;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

import static java.lang.Math.min;

Expand Down
Expand Up @@ -49,7 +49,7 @@
import java.io.IOException;
import java.util.Iterator;

import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;
import org.neo4j.values.storable.Value;

import static org.apache.lucene.document.Field.Store.YES;
Expand Down
Expand Up @@ -71,15 +71,13 @@
import org.neo4j.unsafe.impl.batchimport.input.Input;
import org.neo4j.unsafe.impl.batchimport.input.InputEntityVisitor;
import org.neo4j.unsafe.impl.batchimport.staging.ExecutionMonitors;
import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;
import org.neo4j.values.storable.Value;

import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import static java.lang.System.currentTimeMillis;
import static java.util.concurrent.TimeUnit.SECONDS;

import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.neo4j.helpers.progress.ProgressMonitorFactory.NONE;
import static org.neo4j.unsafe.impl.batchimport.AdditionalInitialIds.EMPTY;
import static org.neo4j.unsafe.impl.batchimport.Configuration.DEFAULT;
Expand Down
5 changes: 5 additions & 0 deletions community/unsafe/pom.xml
Expand Up @@ -43,6 +43,11 @@ the relevant Commercial Agreement.
</licenses>

<dependencies>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
Expand Down
Expand Up @@ -39,7 +39,7 @@
import java.util.stream.Collectors;

import static java.lang.String.format;
import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.flag;
import static org.neo4j.util.FeatureToggles.flag;

/**
* Always check that the Unsafe utilities are available with the {@link UnsafeUtil#assertHasUnsafe} method, before
Expand Down
Expand Up @@ -34,7 +34,7 @@
import org.neo4j.logging.async.AsyncLogEvent;
import org.neo4j.logging.async.AsyncLogProvider;

import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.flag;
import static org.neo4j.util.FeatureToggles.flag;

public class AsyncLogging extends LifecycleAdapter implements Consumer<AsyncLogEvent>, AsyncEvents.Monitor
{
Expand Down
Expand Up @@ -19,7 +19,7 @@
*/
package org.neo4j.kernel.impl.enterprise.lock.forseti;

import org.neo4j.unsafe.impl.internal.dragons.FeatureToggles;
import org.neo4j.util.FeatureToggles;

public enum DeadlockStrategies implements ForsetiLockManager.DeadlockResolutionStrategy
{
Expand Down
Expand Up @@ -35,8 +35,8 @@
import org.neo4j.time.SystemNanoClock;

import static java.lang.String.format;
import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.flag;
import static org.neo4j.unsafe.impl.internal.dragons.FeatureToggles.getInteger;
import static org.neo4j.util.FeatureToggles.flag;
import static org.neo4j.util.FeatureToggles.getInteger;

public class VerbosePageCacheTracer extends DefaultPageCacheTracer
{
Expand Down

0 comments on commit 94fec72

Please sign in to comment.