You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-07 03:22:57 +03:00
MCOL-3488. Chunk shifting failed with SM enabled.
The ChunkManager class was getting an IDBFileSystem instance in a different way than seemingly everything else. Added code to allow it to get an SMFileSystem if cloud storage is specified.
This commit is contained in:
@@ -47,6 +47,7 @@ using namespace execplan;
|
|||||||
|
|
||||||
#include "IDBDataFile.h"
|
#include "IDBDataFile.h"
|
||||||
#include "IDBPolicy.h"
|
#include "IDBPolicy.h"
|
||||||
|
#include "cloudio/SMFileSystem.h"
|
||||||
using namespace idbdatafile;
|
using namespace idbdatafile;
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
@@ -96,7 +97,9 @@ ChunkManager::ChunkManager() : fMaxActiveChunkNum(100), fLenCompressed(0), fIsBu
|
|||||||
fLocalModuleId(Config::getLocalModuleID()),
|
fLocalModuleId(Config::getLocalModuleID()),
|
||||||
fFs(fIsHdfs ?
|
fFs(fIsHdfs ?
|
||||||
IDBFileSystem::getFs(IDBDataFile::HDFS) :
|
IDBFileSystem::getFs(IDBDataFile::HDFS) :
|
||||||
IDBFileSystem::getFs(IDBDataFile::BUFFERED))
|
IDBPolicy::useCloud() ?
|
||||||
|
IDBFileSystem::getFs(IDBDataFile::CLOUD) :
|
||||||
|
IDBFileSystem::getFs(IDBDataFile::BUFFERED))
|
||||||
{
|
{
|
||||||
fUserPaddings = Config::getNumCompressedPadBlks() * BYTE_PER_BLOCK;
|
fUserPaddings = Config::getNumCompressedPadBlks() * BYTE_PER_BLOCK;
|
||||||
fCompressor.numUserPaddingBytes(fUserPaddings);
|
fCompressor.numUserPaddingBytes(fUserPaddings);
|
||||||
@@ -2316,7 +2319,7 @@ int ChunkManager::swapTmpFile(const string& src, const string& dest)
|
|||||||
{
|
{
|
||||||
// return value
|
// return value
|
||||||
int rc = NO_ERROR;
|
int rc = NO_ERROR;
|
||||||
|
|
||||||
// if no change to the cdf, the tmp may not exist, no need to swap.
|
// if no change to the cdf, the tmp may not exist, no need to swap.
|
||||||
if (!fFs.exists(src.c_str()))
|
if (!fFs.exists(src.c_str()))
|
||||||
return rc;
|
return rc;
|
||||||
|
Reference in New Issue
Block a user