select * from system.settings where changed;
Но с проблемой разобралисбь. Хотим переезжать на ARM процессоры и добавили 2 реплики, по одной на шард. (в дальнейшем хотели добавить еще две и отрубить старые x86) И когда дистрибутед запросы использовали серверы с разными процессорами, то итоговый group by не работал.
а ну это ожидаемо, у ARM и Intel кликхаузов разный результат хешфункций, их нельзя в одном кластере перемешивать, есть ишью про то что надо кидать ошибку на дистрибютид запросах ,но не сделано оно.
это прям удивительно. а каких именно функций?
https://github.com/ClickHouse/ClickHouse/issues/22581
у нас x86 + ARM, вы нам помогли обойти напряжения с GROUP BY, а Алексей упоминал, что, вообще-то, должно работать: https://github.com/ClickHouse/ClickHouse/issues/16922
а ну вот inline DB::UInt64 intHashCRC32(DB::UInt64 x) { #ifdef SSE4_2 return _mm_crc32_u64(-1ULL, x); #elif defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) return __crc32cd(-1U, x); #else /// On other platforms we do not have CRC32. NOTE This can be confusing. return intHash64(x); #endif }
Обсуждают сегодня