当前位置: 首页>>代码示例>>Java>>正文


Java DiskFailurePolicy类代码示例

本文整理汇总了Java中org.apache.cassandra.config.Config.DiskFailurePolicy的典型用法代码示例。如果您正苦于以下问题:Java DiskFailurePolicy类的具体用法?Java DiskFailurePolicy怎么用?Java DiskFailurePolicy使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


DiskFailurePolicy类属于org.apache.cassandra.config.Config包,在下文中一共展示了DiskFailurePolicy类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testFlushUnwriteableDie

import org.apache.cassandra.config.Config.DiskFailurePolicy; //导入依赖的package包/类
@Test
public void testFlushUnwriteableDie() throws Throwable
{
    makeTable();

    KillerForTests killerForTests = new KillerForTests();
    JVMStabilityInspector.Killer originalKiller = JVMStabilityInspector.replaceKiller(killerForTests);
    DiskFailurePolicy oldPolicy = DatabaseDescriptor.getDiskFailurePolicy();
    try (Closeable c = Util.markDirectoriesUnwriteable(getCurrentColumnFamilyStore()))
    {
        DatabaseDescriptor.setDiskFailurePolicy(DiskFailurePolicy.die);
        flushAndExpectError();
        Assert.assertTrue(killerForTests.wasKilled());
        Assert.assertFalse(killerForTests.wasKilledQuietly()); //only killed quietly on startup failure
    }
    finally
    {
        DatabaseDescriptor.setDiskFailurePolicy(oldPolicy);
        JVMStabilityInspector.replaceKiller(originalKiller);
    }
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:22,代码来源:OutOfSpaceTest.java

示例2: testFlushUnwriteableStop

import org.apache.cassandra.config.Config.DiskFailurePolicy; //导入依赖的package包/类
@Test
public void testFlushUnwriteableStop() throws Throwable
{
    makeTable();

    DiskFailurePolicy oldPolicy = DatabaseDescriptor.getDiskFailurePolicy();
    try (Closeable c = Util.markDirectoriesUnwriteable(getCurrentColumnFamilyStore()))
    {
        DatabaseDescriptor.setDiskFailurePolicy(DiskFailurePolicy.stop);
        flushAndExpectError();
        Assert.assertFalse(Gossiper.instance.isEnabled());
    }
    finally
    {
        DatabaseDescriptor.setDiskFailurePolicy(oldPolicy);
    }
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:18,代码来源:OutOfSpaceTest.java

示例3: testFlushUnwriteableIgnore

import org.apache.cassandra.config.Config.DiskFailurePolicy; //导入依赖的package包/类
@Test
public void testFlushUnwriteableIgnore() throws Throwable
{
    makeTable();

    DiskFailurePolicy oldPolicy = DatabaseDescriptor.getDiskFailurePolicy();
    try (Closeable c = Util.markDirectoriesUnwriteable(getCurrentColumnFamilyStore()))
    {
        DatabaseDescriptor.setDiskFailurePolicy(DiskFailurePolicy.ignore);
        flushAndExpectError();
    }
    finally
    {
        DatabaseDescriptor.setDiskFailurePolicy(oldPolicy);
    }

    // Next flush should succeed.
    flush();
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:20,代码来源:OutOfSpaceTest.java

示例4: testDiskFailurePolicy_best_effort

import org.apache.cassandra.config.Config.DiskFailurePolicy; //导入依赖的package包/类
@Test
public void testDiskFailurePolicy_best_effort()
{
    DiskFailurePolicy origPolicy = DatabaseDescriptor.getDiskFailurePolicy();
    
    try 
    {
        DatabaseDescriptor.setDiskFailurePolicy(DiskFailurePolicy.best_effort);
        // Fake a Directory creation failure
        if (Directories.dataDirectories.length > 0)
        {
            String[] path = new String[] {KS, "bad"};
            File dir = new File(Directories.dataDirectories[0].location, StringUtils.join(path, File.separator));
            FileUtils.handleFSError(new FSWriteError(new IOException("Unable to create directory " + dir), dir));
        }

        for (DataDirectory dd : Directories.dataDirectories)
        {
            File file = new File(dd.location, new File(KS, "bad").getPath());
            assertTrue(BlacklistedDirectories.isUnwritable(file));
        }
    } 
    finally 
    {
        DatabaseDescriptor.setDiskFailurePolicy(origPolicy);
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:28,代码来源:DirectoriesTest.java

示例5: testDiskFailurePolicy_best_effort

import org.apache.cassandra.config.Config.DiskFailurePolicy; //导入依赖的package包/类
@Test
public void testDiskFailurePolicy_best_effort()
{
    DiskFailurePolicy origPolicy = DatabaseDescriptor.getDiskFailurePolicy();

    try
    {
        DatabaseDescriptor.setDiskFailurePolicy(DiskFailurePolicy.best_effort);
        // Fake a Directory creation failure
        if (Directories.dataDirectories.length > 0)
        {
            String[] path = new String[] {KS, "bad"};
            File dir = new File(Directories.dataDirectories[0].location, StringUtils.join(path, File.separator));
            FileUtils.handleFSError(new FSWriteError(new IOException("Unable to create directory " + dir), dir));
        }

        for (DataDirectory dd : Directories.dataDirectories)
        {
            File file = new File(dd.location, new File(KS, "bad").getPath());
            assertTrue(BlacklistedDirectories.isUnwritable(file));
        }
    } 
    finally 
    {
        DatabaseDescriptor.setDiskFailurePolicy(origPolicy);
    }
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:28,代码来源:DirectoriesTest.java

示例6: testUnwriteableFlushRecovery

import org.apache.cassandra.config.Config.DiskFailurePolicy; //导入依赖的package包/类
@Test
public void testUnwriteableFlushRecovery() throws ExecutionException, InterruptedException, IOException
{
    CommitLog.instance.resetUnsafe(true);

    ColumnFamilyStore cfs = Keyspace.open(KEYSPACE1).getColumnFamilyStore(STANDARD1);

    DiskFailurePolicy oldPolicy = DatabaseDescriptor.getDiskFailurePolicy();
    try
    {
        DatabaseDescriptor.setDiskFailurePolicy(DiskFailurePolicy.ignore);

        for (int i = 0 ; i < 5 ; i++)
        {
            new RowUpdateBuilder(cfs.metadata, 0, "k")
                .clustering("c" + i).add("val", ByteBuffer.allocate(100))
                .build()
                .apply();

            if (i == 2)
            {
                try (Closeable c = Util.markDirectoriesUnwriteable(cfs))
                {
                    cfs.forceBlockingFlush();
                }
                catch (Throwable t)
                {
                    // expected. Cause (after some wrappings) should be a write error
                    while (!(t instanceof FSWriteError))
                        t = t.getCause();
                }
            }
            else
                cfs.forceBlockingFlush();
        }
    }
    finally
    {
        DatabaseDescriptor.setDiskFailurePolicy(oldPolicy);
    }

    CommitLog.instance.sync(true);
    System.setProperty("cassandra.replayList", KEYSPACE1 + "." + STANDARD1);
    // Currently we don't attempt to re-flush a memtable that failed, thus make sure data is replayed by commitlog.
    // If retries work subsequent flushes should clear up error and this should change to expect 0.
    Assert.assertEquals(1, CommitLog.instance.resetUnsafe(false));
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:48,代码来源:CommitLogTest.java


注:本文中的org.apache.cassandra.config.Config.DiskFailurePolicy类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。