This commit is contained in:
Michael Kolupaev 2014-07-23 13:50:29 +04:00
parent f3285dba79
commit bfe126ab04
4 changed files with 10 additions and 13 deletions

View File

@ -14,7 +14,7 @@ public:
* - Для массивов и строк проверяет соответствие размеров и количества данных.
* - Проверяет правильность засечек.
* Бросает исключение, если кусок испорчен или если проверить не получилось (TODO: можно попробовать разделить эти случаи).
* Если strict, требует, чтобы для всех столбцов из columns.txt были файлы, и чтобы засечки не указывали в конец сжатого блока.
* Если strict, требует, чтобы для всех столбцов из columns.txt были файлы.
* Если verbose, пишет в stderr прогресс и ошибки, и не останавливается при первой ошибке.
*/
static void checkDataPart(String path, size_t index_granularity, bool strict, const DataTypeFactory & data_type_factory,

View File

@ -107,16 +107,13 @@ struct Stream
if (uncompressed_hashing_buf.position() == uncompressed_hashing_buf.buffer().end())
{
if (!strict)
{
/// Если засечка должна быть ровно на границе блоков, нам подходит и засечка, указывающая на конец предыдущего блока,
/// и на начало следующего.
data_mark.offset_in_compressed_file = compressed_hashing_buf.count() - uncompressing_buf.getSizeCompressed();
data_mark.offset_in_decompressed_block = uncompressed_hashing_buf.offset();
/// Если засечка должна быть ровно на границе блоков, нам подходит и засечка, указывающая на конец предыдущего блока,
/// и на начало следующего.
data_mark.offset_in_compressed_file = compressed_hashing_buf.count() - uncompressing_buf.getSizeCompressed();
data_mark.offset_in_decompressed_block = uncompressed_hashing_buf.offset();
if (mrk_mark == data_mark)
return;
}
if (mrk_mark == data_mark)
return;
uncompressed_hashing_buf.next();
}

View File

@ -48,10 +48,10 @@ void ReplicatedMergeTreePartsServer::processQuery(const Poco::Net::HTMLForm & pa
if (file_name != "checksums.txt" &&
file_name != "columns.txt")
checksums.addFile(file_name, hashing_out.count(), hashing_out.getHash());
data_checksums.addFile(file_name, hashing_out.count(), hashing_out.getHash());
}
part->checksums.checkEqual(checksums, false);
part->checksums.checkEqual(data_checksums, false);
}
catch (...)
{

View File

@ -662,7 +662,7 @@ void StorageReplicatedMergeTree::pullLogsToQueue(zkutil::EventPtr next_update_ev
Strings entries = zookeeper->getChildren(zookeeper_path + "/log");
index = entries.empty() ? 0 : parse<UInt64>(std::min_element(entries.begin(), entries.end())->substr(strlen("log-")));
zookeeper->set(replica_path + "/log_pointer", toString(index), zkutil::CreateMode::Persistent);
zookeeper->set(replica_path + "/log_pointer", toString(index));
}
else
{