@@ -0,0 +1,2147 @@
+/* This file is part of VoltDB.%0A * Copyright (C) 2008-2013 VoltDB Inc.%0A *%0A * This program is free software: you can redistribute it and/or modify%0A * it under the terms of the GNU Affero General Public License as%0A * published by the Free Software Foundation, either version 3 of the%0A * License, or (at your option) any later version.%0A *%0A * This program is distributed in the hope that it will be useful,%0A * but WITHOUT ANY WARRANTY; without even the implied warranty of%0A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the%0A * GNU Affero General Public License for more details.%0A *%0A * You should have received a copy of the GNU Affero General Public License%0A * along with VoltDB.  If not, see %3Chttp://www.gnu.org/licenses/%3E.%0A */%0A%0Apackage org.voltdb;%0A%0Aimport java.io.IOException;%0Aimport java.util.concurrent.Callable;%0A%0Aimport org.voltcore.utils.DBBPool.BBContainer;%0A%0Aimport com.google.common.util.concurrent.ListenableFuture;%0A%0A/**%0A * SnapshotDataTarget implementation that drops snapshot data on the floor%0A */%0Apublic class DevNullSnapshotTarget implements SnapshotDataTarget %7B%0A%0A    Runnable m_onClose = null;%0A%0A    @Override%0A    public int getHeaderSize() %7B%0A        return 0;%0A    %7D%0A%0A    @Override%0A    public ListenableFuture%3C?%3E write(Callable%3CBBContainer%3E tupleData,%0A            SnapshotTableTask context) %7B%0A        try %7B%0A            BBContainer container = tupleData.call();%0A            if (container != null) %7B%0A                container.discard();%0A            %7D%0A        %7D catch (Exception e) %7B%7D%0A        return null;%0A    %7D%0A%0A    @Override%0A    public boolean needsFinalClose()%0A    %7B%0A        return true;%0A    %7D%0A%0A    @Override%0A    public void close() throws IOException, InterruptedException %7B%0A        if (m_onClose != null) %7B%0A            m_onClose.run();%0A        %7D%0A    %7D%0A%0A    @Override%0A    public long getBytesWritten() %7B%0A        return 0;%0A    %7D%0A%0A    @Override%0A    public void setOnCloseHandler(Runnable onClose) %7B%0A        m_onClose = onClose;%0A    %7D%0A%0A    @Override%0A    public Throwable getLastWriteException() %7B%0A        return null;%0A    %7D%0A%0A    @Override%0A    public SnapshotFormat getFormat() %7B%0A        return SnapshotFormat.STREAM;%0A    %7D%0A%0A%7D%0A

Bring back the dev null snapshot target for elastic index snapshot.