Skip to content

Commit

Permalink
Fixed broken test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
lvca committed Jul 14, 2015
1 parent 23f58e0 commit b92cb52
Show file tree
Hide file tree
Showing 6 changed files with 80 additions and 81 deletions.
Expand Up @@ -20,29 +20,6 @@


package com.orientechnologies.orient.core.storage.impl.local; package com.orientechnologies.orient.core.storage.impl.local;


import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

import com.orientechnologies.common.concur.lock.OLockManager; import com.orientechnologies.common.concur.lock.OLockManager;
import com.orientechnologies.common.concur.lock.OModificationLock; import com.orientechnologies.common.concur.lock.OModificationLock;
import com.orientechnologies.common.exception.OException; import com.orientechnologies.common.exception.OException;
Expand Down Expand Up @@ -75,10 +52,6 @@
import com.orientechnologies.orient.core.exception.OStorageException; import com.orientechnologies.orient.core.exception.OStorageException;
import com.orientechnologies.orient.core.id.ORID; import com.orientechnologies.orient.core.id.ORID;
import com.orientechnologies.orient.core.id.ORecordId; import com.orientechnologies.orient.core.id.ORecordId;
import com.orientechnologies.orient.core.storage.cache.OCacheEntry;
import com.orientechnologies.orient.core.storage.cache.OCachePointer;
import com.orientechnologies.orient.core.storage.cache.OPageDataVerificationError;
import com.orientechnologies.orient.core.storage.cache.OReadCache;
import com.orientechnologies.orient.core.metadata.OMetadataDefault; import com.orientechnologies.orient.core.metadata.OMetadataDefault;
import com.orientechnologies.orient.core.metadata.OMetadataInternal; import com.orientechnologies.orient.core.metadata.OMetadataInternal;
import com.orientechnologies.orient.core.metadata.schema.OClass; import com.orientechnologies.orient.core.metadata.schema.OClass;
Expand All @@ -96,6 +69,10 @@
import com.orientechnologies.orient.core.storage.ORecordMetadata; import com.orientechnologies.orient.core.storage.ORecordMetadata;
import com.orientechnologies.orient.core.storage.OStorageAbstract; import com.orientechnologies.orient.core.storage.OStorageAbstract;
import com.orientechnologies.orient.core.storage.OStorageOperationResult; import com.orientechnologies.orient.core.storage.OStorageOperationResult;
import com.orientechnologies.orient.core.storage.cache.OCacheEntry;
import com.orientechnologies.orient.core.storage.cache.OCachePointer;
import com.orientechnologies.orient.core.storage.cache.OPageDataVerificationError;
import com.orientechnologies.orient.core.storage.cache.OReadCache;
import com.orientechnologies.orient.core.storage.cache.OWriteCache; import com.orientechnologies.orient.core.storage.cache.OWriteCache;
import com.orientechnologies.orient.core.storage.impl.local.paginated.OOfflineCluster; import com.orientechnologies.orient.core.storage.impl.local.paginated.OOfflineCluster;
import com.orientechnologies.orient.core.storage.impl.local.paginated.OOfflineClusterException; import com.orientechnologies.orient.core.storage.impl.local.paginated.OOfflineClusterException;
Expand All @@ -111,43 +88,62 @@
import com.orientechnologies.orient.core.version.ORecordVersion; import com.orientechnologies.orient.core.version.ORecordVersion;
import com.orientechnologies.orient.core.version.OVersionFactory; import com.orientechnologies.orient.core.version.OVersionFactory;


import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

/** /**
* @author Andrey Lomakin * @author Andrey Lomakin
* @since 28.03.13 * @since 28.03.13
*/ */
public abstract class OAbstractPaginatedStorage extends OStorageAbstract implements OLowDiskSpaceListener, public abstract class OAbstractPaginatedStorage extends OStorageAbstract implements OLowDiskSpaceListener,
OFullCheckpointRequestListener, OIdentifiableStorage, OOrientStartupListener, OOrientShutdownListener { OFullCheckpointRequestListener, OIdentifiableStorage, OOrientStartupListener, OOrientShutdownListener {
private static final int RECORD_LOCK_TIMEOUT = OGlobalConfiguration.STORAGE_RECORD_LOCK_TIMEOUT private static final int RECORD_LOCK_TIMEOUT = OGlobalConfiguration.STORAGE_RECORD_LOCK_TIMEOUT.getValueAsInteger();
.getValueAsInteger();

private final OLockManager<ORID> lockManager;
private final OLockManager<ORID> lockManager; private final String PROFILER_CREATE_RECORD;
private final String PROFILER_CREATE_RECORD; private final String PROFILER_READ_RECORD;
private final String PROFILER_READ_RECORD; private final String PROFILER_UPDATE_RECORD;
private final String PROFILER_UPDATE_RECORD; private final String PROFILER_DELETE_RECORD;
private final String PROFILER_DELETE_RECORD; private final ConcurrentMap<String, OCluster> clusterMap = new ConcurrentHashMap<String, OCluster>();
private final ConcurrentMap<String, OCluster> clusterMap = new ConcurrentHashMap<String, OCluster>(); private volatile ThreadLocal<OStorageTransaction> transaction = new ThreadLocal<OStorageTransaction>();
private volatile ThreadLocal<OStorageTransaction> transaction = new ThreadLocal<OStorageTransaction>(); private final OModificationLock modificationLock = new OModificationLock();
private final OModificationLock modificationLock = new OModificationLock(); private final AtomicBoolean checkpointInProgress = new AtomicBoolean();
private final AtomicBoolean checkpointInProgress = new AtomicBoolean(); protected volatile OWriteAheadLog writeAheadLog;
protected volatile OWriteAheadLog writeAheadLog;

protected volatile OReadCache readCache;
protected volatile OReadCache readCache; protected volatile OWriteCache writeCache;
protected volatile OWriteCache writeCache;

private ORecordConflictStrategy recordConflictStrategy = Orient.instance().getRecordConflictStrategy().newInstanceOfDefaultClass();
private ORecordConflictStrategy recordConflictStrategy = Orient.instance() private List<OCluster> clusters = new ArrayList<OCluster>();
.getRecordConflictStrategy() private volatile int defaultClusterId = -1;
.newInstanceOfDefaultClass(); private volatile OAtomicOperationsManager atomicOperationsManager;
private List<OCluster> clusters = new ArrayList<OCluster>(); private volatile boolean wereDataRestoredAfterOpen = false;
private volatile int defaultClusterId = -1; private volatile boolean wereNonTxOperationsPerformedInPreviousOpen = false;
private volatile OAtomicOperationsManager atomicOperationsManager; private boolean makeFullCheckPointAfterClusterCreate = OGlobalConfiguration.STORAGE_MAKE_FULL_CHECKPOINT_AFTER_CLUSTER_CREATE.getValueAsBoolean();
private volatile boolean wereDataRestoredAfterOpen = false; private volatile OLowDiskSpaceInformation lowDiskSpace = null;
private volatile boolean wereNonTxOperationsPerformedInPreviousOpen = false; private volatile boolean checkpointRequest = false;
private boolean makeFullCheckPointAfterClusterCreate = OGlobalConfiguration.STORAGE_MAKE_FULL_CHECKPOINT_AFTER_CLUSTER_CREATE
.getValueAsBoolean(); private final int id;
private volatile OLowDiskSpaceInformation lowDiskSpace = null;
private volatile boolean checkpointRequest = false;

private final int id;


public OAbstractPaginatedStorage(String name, String filePath, String mode, int id) { public OAbstractPaginatedStorage(String name, String filePath, String mode, int id) {
super(name, filePath, mode, OGlobalConfiguration.STORAGE_LOCK_TIMEOUT.getValueAsInteger()); super(name, filePath, mode, OGlobalConfiguration.STORAGE_LOCK_TIMEOUT.getValueAsInteger());
Expand Down Expand Up @@ -198,7 +194,7 @@ public void open(final String iUserName, final String iUserPassword, final Map<S
addDefaultClusters(); addDefaultClusters();


// REGISTER CLUSTER // REGISTER CLUSTER
for (int i = 0; i < configuration.clusters.size(); ++i) { for (int i = 0; i<configuration.clusters.size(); ++i) {
final OStorageClusterConfiguration clusterConfig = configuration.clusters.get(i); final OStorageClusterConfiguration clusterConfig = configuration.clusters.get(i);


if (clusterConfig != null) { if (clusterConfig != null) {
Expand All @@ -214,10 +210,7 @@ public void open(final String iUserName, final String iUserPassword, final Map<S
clusters.get(pos).open(); clusters.get(pos).open();
} }
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
OLogManager.instance().warn( OLogManager.instance().warn(this, "Error on loading cluster '" + clusters.get(i).getName() + "' (" + i + "): file not found. It will be excluded from current database '" + getName() + "'.");
this,
"Error on loading cluster '" + clusters.get(i).getName() + "' (" + i
+ "): file not found. It will be excluded from current database '" + getName() + "'.");


clusterMap.remove(clusters.get(i).getName().toLowerCase()); clusterMap.remove(clusters.get(i).getName().toLowerCase());


Expand Down Expand Up @@ -251,17 +244,15 @@ public void create(final Map<String, Object> iProperties) {
try { try {


if (status != STATUS.CLOSED) if (status != STATUS.CLOSED)
throw new OStorageException("Cannot create new storage '" + name + "' because it is not closed"); throw new OStorageException("Cannot create new storage '" + getURL() + "' because it is not closed");


if (exists()) if (exists())
throw new OStorageException("Cannot create new storage '" + name + "' because it already exists"); throw new OStorageException("Cannot create new storage '" + getURL() + "' because it already exists");


if (!configuration.getContextConfiguration().getContextKeys() if (!configuration.getContextConfiguration().getContextKeys().contains(OGlobalConfiguration.STORAGE_COMPRESSION_METHOD.getKey()))
.contains(OGlobalConfiguration.STORAGE_COMPRESSION_METHOD.getKey()))


// SAVE COMPRESSION IN STORAGE CFG // SAVE COMPRESSION IN STORAGE CFG
configuration.getContextConfiguration().setValue(OGlobalConfiguration.STORAGE_COMPRESSION_METHOD, configuration.getContextConfiguration().setValue(OGlobalConfiguration.STORAGE_COMPRESSION_METHOD, OGlobalConfiguration.STORAGE_COMPRESSION_METHOD.getValue());
OGlobalConfiguration.STORAGE_COMPRESSION_METHOD.getValue());


componentsFactory = new OCurrentStorageComponentsFactory(configuration); componentsFactory = new OCurrentStorageComponentsFactory(configuration);
initWalAndDiskCache(); initWalAndDiskCache();
Expand Down
Expand Up @@ -20,13 +20,11 @@


package com.orientechnologies.orient.graph; package com.orientechnologies.orient.graph;


import java.io.File;

import org.junit.AfterClass;
import org.junit.BeforeClass;

import com.orientechnologies.common.io.OFileUtils; import com.orientechnologies.common.io.OFileUtils;
import com.tinkerpop.blueprints.impls.orient.OrientGraphNoTx; import com.tinkerpop.blueprints.impls.orient.OrientGraphNoTx;
import org.junit.AfterClass;

import java.io.File;


/** /**
* Base class for tests against Non transactonal Graphs. * Base class for tests against Non transactonal Graphs.
Expand Down Expand Up @@ -61,9 +59,7 @@ public static String getStorageType() {
return "plocal"; return "plocal";
} }


@BeforeClass public static void init(final String dbName) {
public static void beforeClass() {
final String dbName = GraphNoTxAbstractTest.class.getSimpleName();
final String storageType = getStorageType(); final String storageType = getStorageType();
final String buildDirectory = System.getProperty("buildDirectory", "."); final String buildDirectory = System.getProperty("buildDirectory", ".");


Expand Down
Expand Up @@ -57,10 +57,9 @@ public static String getStorageType() {


return "plocal"; return "plocal";
} }
@BeforeClass
public static void beforeClass() { public static void init(final String dbName) {
if (graph == null) { if (graph == null) {
final String dbName = GraphTxAbstractTest.class.getSimpleName();
final String storageType = getStorageType(); final String storageType = getStorageType();
final String buildDirectory = System.getProperty("buildDirectory", "."); final String buildDirectory = System.getProperty("buildDirectory", ".");


Expand Down
Expand Up @@ -23,6 +23,7 @@
import com.orientechnologies.orient.core.command.script.OCommandScript; import com.orientechnologies.orient.core.command.script.OCommandScript;
import com.orientechnologies.orient.graph.GraphNoTxAbstractTest; import com.orientechnologies.orient.graph.GraphNoTxAbstractTest;
import com.tinkerpop.blueprints.impls.orient.OrientElement; import com.tinkerpop.blueprints.impls.orient.OrientElement;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;


import java.util.Iterator; import java.util.Iterator;
Expand All @@ -47,4 +48,9 @@ public void testTraverseContext() {
assertTrue(it.hasNext()); assertTrue(it.hasNext());
assertNotNull(it.next()); assertNotNull(it.next());
} }

@BeforeClass
public static void init() {
init(SQLGraphBatchTest.class.getSimpleName());
}
} }
Expand Up @@ -44,7 +44,8 @@ public class SQLMoveVertexCommandInTxTest extends GraphTxAbstractTest {


@BeforeClass @BeforeClass
public static void beforeClass() { public static void beforeClass() {
GraphTxAbstractTest.beforeClass(); init(SQLMoveVertexCommandInTxTest.class.getSimpleName());

graph.executeOutsideTx(new OCallable<Object, OrientBaseGraph>() { graph.executeOutsideTx(new OCallable<Object, OrientBaseGraph>() {
@Override @Override
public Object call(OrientBaseGraph iArgument) { public Object call(OrientBaseGraph iArgument) {
Expand Down
Expand Up @@ -30,6 +30,7 @@
import com.tinkerpop.blueprints.impls.orient.OrientVertexType; import com.tinkerpop.blueprints.impls.orient.OrientVertexType;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;


import java.util.ArrayList; import java.util.ArrayList;
Expand Down Expand Up @@ -286,4 +287,9 @@ public void testMoveMultipleRecordToAnotherClassInTxSettingProperties() {


Assert.assertEquals(tot, 2); Assert.assertEquals(tot, 2);
} }

@BeforeClass
public static void init() {
init(SQLMoveVertexCommandTest.class.getSimpleName());
}
} }

0 comments on commit b92cb52

Please sign in to comment.