Commit Graph

74 Commits

Author SHA1 Message Date
Azat Khuzhin
ab9d9f8997 Fix INSERT into Distributed non local node with MATERIALIZED columns
Previous patch e527def18a ("Fix INSERT
into Distributed() table with MATERIALIZED column") fixes it only for
cases when the node is local, i.e. direct insert.

This patch address the problem when the node is not local
(`is_local == false`), by erasing materialized columns on INSERT into
Distributed.

And this patch fixes two cases, depends on `insert_distributed_sync`
setting:

- `insert_distributed_sync=0`

    ```
    Not found column value in block. There are only columns: date. Stack trace:

    2. 0x7ffff7be92e0 DB::Exception::Exception() dbms/src/Common/Exception.h:27
    3. 0x7fffec5d6cf6 DB::Block::getByName(...) dbms/src/Core/Block.cpp:187
    4. 0x7fffec2fe067 DB::NativeBlockInputStream::readImpl() dbms/src/DataStreams/NativeBlockInputStream.cpp:159
    5. 0x7fffec2d223f DB::IBlockInputStream::read() dbms/src/DataStreams/IBlockInputStream.cpp:61
    6. 0x7ffff7c6d40d DB::TCPHandler::receiveData() dbms/programs/server/TCPHandler.cpp:971
    7. 0x7ffff7c6cc1d DB::TCPHandler::receivePacket() dbms/programs/server/TCPHandler.cpp:855
    8. 0x7ffff7c6a1ef DB::TCPHandler::readDataNext(unsigned long const&, int const&) dbms/programs/server/TCPHandler.cpp:406
    9. 0x7ffff7c6a41b DB::TCPHandler::readData(DB::Settings const&) dbms/programs/server/TCPHandler.cpp:437
    10. 0x7ffff7c6a5d9 DB::TCPHandler::processInsertQuery(DB::Settings const&) dbms/programs/server/TCPHandler.cpp:464
    11. 0x7ffff7c687b5 DB::TCPHandler::runImpl() dbms/programs/server/TCPHandler.cpp:257
    ```

- `insert_distributed_sync=1`

    ```
    2019.10.18 13:23:22.114578 [ 44 ] {a78f669f-0b08-4337-abf8-d31e958f6d12} <Error> executeQuery: Code: 171, e.displayText() = DB::Exception: Block structure mismatch in RemoteBlockOutputStream stream: different number of columns:
    date Date UInt16(size = 1), value Date UInt16(size = 1)
    date Date UInt16(size = 0): Insertion status:
    Wrote 1 blocks and 0 rows on shard 0 replica 0, 127.0.0.1:59000 (average 0 ms per block)
    Wrote 0 blocks and 0 rows on shard 1 replica 0, 127.0.0.2:59000 (average 2 ms per block)
     (version 19.16.1.1) (from [::1]:3624) (in query: INSERT INTO distributed_00952 VALUES ), Stack trace:

    2. 0x7ffff7be92e0 DB::Exception::Exception() dbms/src/Common/Exception.h:27
    3. 0x7fffec5da4e9 DB::checkBlockStructure<void>(...)::{...}::operator()(...) const dbms/src/Core/Block.cpp:460
    4. 0x7fffec5da671 void DB::checkBlockStructure<void>(...) dbms/src/Core/Block.cpp:467
    5. 0x7fffec5d8d58 DB::assertBlocksHaveEqualStructure(...) dbms/src/Core/Block.cpp:515
    6. 0x7fffec326630 DB::RemoteBlockOutputStream::write(DB::Block const&) dbms/src/DataStreams/RemoteBlockOutputStream.cpp:68
    7. 0x7fffe98bd154 DB::DistributedBlockOutputStream::runWritingJob(DB::DistributedBlockOutputStream::JobReplica&, DB::Block const&)::{lambda()#1}::operator()() const dbms/src/Storages/Distributed/DistributedBlockOutputStream.cpp:280
    <snip>
    ````

Fixes: #7365
Fixes: #5429
Refs: #6891
2019-10-23 21:54:27 +03:00
tavplubix
0046b9f137 Wait for jobs to finish on exception (fixes rare segfaults) (#7350) 2019-10-17 17:41:27 +03:00
kreuzerkrieg
112fc71276 adding -Wshadow for GCC 2019-08-09 23:58:16 +03:00
Alexander Tokmakov
5cf183cbe3 fixes after review 2019-08-07 15:55:27 +03:00
Alexander Tokmakov
aefc664819 refactor throwFromErrno 2019-08-06 21:54:06 +03:00
Konstantin Podshumok
a61a8386f3 update timeouts usage in DistributedBlockOutputStream 2019-06-02 12:43:20 +03:00
tai
0d39968233 Suport settings for async(#4852)
There is no hash operation on Settings. Because it is less valuable for hash operations.

And I dont know how to write a testcase.
2019-04-29 17:02:23 +08:00
Alexey Milovidov
571bc7065a Removed unused code related to MemoryTracker 2019-04-06 01:35:56 +03:00
Alexey Milovidov
c70e8cc5f0 Miscellaneous #3726 2019-01-21 22:45:26 +03:00
Alexey Milovidov
1d4701b0bc Added some warnings from clang's -Weverything 2019-01-04 15:10:00 +03:00
proller
300bbdfb43 Fix cyclic lib depend ppart 2: clean 2018-12-28 21:15:26 +03:00
alexey-milovidov
4305509236
Update DistributedBlockOutputStream.cpp 2018-12-07 07:15:26 +03:00
alexey-milovidov
e7f4d5a12b
Update DistributedBlockOutputStream.cpp 2018-12-07 07:14:52 +03:00
root
8c9e9649fb Add test and code comment. 2018-12-03 21:11:26 +08:00
root
94164ef250 Compatible with LowCardinality type data write 2018-11-28 12:51:04 +08:00
Alexey Milovidov
ab5d76fc42 Fixed error introduced in #3553 and prevent it happening 2018-11-21 23:56:37 +03:00
Marek Vavruša
8fad726d95 Added null guards for all CurrentThread::attachToIfDetached()
refs #3622
2018-11-20 09:10:34 -08:00
Vitaliy Lyudvichenko
e13ba09004 Rewritten ThreadStatus via adding shared thread state. [#CLICKHOUSE-2910]
Fixed race condition in SystemLog.
2018-06-19 23:30:35 +03:00
Vitaliy Lyudvichenko
4cd230f85c Merge remote-tracking branch 'origin/master' into CLICKHOUSE-2910 2018-06-14 16:04:00 +03:00
Alexey Milovidov
b9b89a5590 Less dependencies [#CLICKHOUSE-2] 2018-06-05 22:46:49 +03:00
Vitaliy Lyudvichenko
e265e5c2ab Refactoring. [#CLICKHOUSE-2910] 2018-05-29 21:14:31 +03:00
Vitaliy Lyudvichenko
aa40931824 Merge remote-tracking branch 'origin/master' into CLICKHOUSE-2910 2018-05-28 20:22:27 +03:00
Alexey Milovidov
577268d8f5 Style #2387 2018-05-18 21:31:18 +03:00
Vitaliy Lyudvichenko
de6c48f4df Merge remote-tracking branch 'origin/master' into CLICKHOUSE-2910 2018-05-14 19:09:00 +03:00
Vitaliy Lyudvichenko
e8b94b89e9 Removed dbg output, fixed test. [#CLICKHOUSE-2] 2018-05-14 17:14:58 +03:00
Vitaliy Lyudvichenko
d25338582d Speedup partition check, add more preformance output. [#CLICKHOUSE-2]
Faster partition check.

Added more debug info.
2018-05-14 17:14:58 +03:00
Vitaliy Lyudvichenko
190964f98e Avoid extra waits in copier. [#CLICKHOUSE-2] 2018-03-26 21:39:28 +03:00
Vitaliy Lyudvichenko
e41b653f14 Parallelized block split in sync Distributed insert. [#CLICKHOUSE-2] 2018-03-19 21:26:52 +03:00
Vitaliy Lyudvichenko
4011afa399 Parallel SELECT and INSERT in ClusterCopier. [#CLICKHOUSE-2] 2018-03-14 23:49:18 +03:00
alexey-milovidov
56deedfe9f
Merge pull request #2027 from yandex/CLICKHOUSE-3346
Sync insert and сluster copier enhancements
2018-03-12 20:58:53 +03:00
Vitaliy Lyudvichenko
32b617e1d6 Fixed extra squashing leaded to too big timeouts. [#CLICKHOUSE-3346] 2018-03-11 21:36:09 +03:00
Alexey Milovidov
5ff433b670 Merged Limits to Settings [#CLICKHOUSE-2021] 2018-03-11 03:15:26 +03:00
Vitaliy Lyudvichenko
96d4e59dab Simplified logic of distributed sync insert. [#CLICKHOUSE-2] 2018-03-07 17:39:02 +03:00
Vitaliy Lyudvichenko
47d1d4c83c More effective retries, fast partition discovering. [#CLICKHOUSE-3346] 2018-03-07 17:39:02 +03:00
Vitaliy Lyudvichenko
efdda9cc9b Introduced ThreadStatus. [#CLICKHOUSE-2910] 2018-03-07 14:35:10 +03:00
alexey-milovidov
b6f3f06ef3
Merge branch 'master' into CLICKHOUSE-3606 2018-02-22 02:13:38 +03:00
Vitaliy Lyudvichenko
369f88f65d Rewritten and improved sync distributed insert. [#CLICKHOUSE-3346] 2018-02-19 20:26:47 +03:00
Alexey Milovidov
fa50fe80a0 Added method "getHeader" in IBlockOutputStream: development [#CLICKHOUSE-2] 2018-02-19 03:45:32 +03:00
Vitaliy Lyudvichenko
d6db480be1 Forward settings through Distributed table. [#CLICKHOUSE-3346] 2018-01-25 19:04:54 +03:00
Alexey Milovidov
c4bbc1c963 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 23:48:46 +03:00
Alexey Milovidov
acd78e4891 Better [#CLICKHOUSE-2]. 2017-12-02 00:13:25 +03:00
Vitaliy Lyudvichenko
a4636f8656 Fixed incorrect INSERT into Distributed table in async mode with local replicas in a shard. #1404 [#CLICKHOUSE-2]
Resolves #1404
2017-11-03 00:32:59 +03:00
Nikolai Kochetov
5966574405 fix timeout lock in DistributedBlockOutputStream 2017-10-23 16:47:00 +03:00
Nikolai Kochetov
4262c00122 lock mutex before notifying waiting thread in sync insertion into distributed [#CLICKHOUSE-3379] 2017-10-19 22:52:45 +03:00
Nikolai Kochetov
c43a13cb81 fixed async insertion into local shard of distributed [#CLICKHOUSE-3245] 2017-08-23 15:44:18 +03:00
Nikolai Kochetov
24b5a59f8c merged with remote [#CLICKHOUSE-3033] 2017-08-11 18:38:46 +03:00
Nikolai Kochetov
90940d8423 Cluster and DistributedBlockOutputStream refactoring [#CLICKHOUSE-3033] 2017-08-11 18:02:07 +03:00
alexey-milovidov
0282d516a4 Update DistributedBlockOutputStream.cpp 2017-08-10 07:10:36 +03:00
alexey-milovidov
2717c94a36 Update DistributedBlockOutputStream.cpp 2017-08-10 07:05:16 +03:00
alexey-milovidov
0285f99c4e Update DistributedBlockOutputStream.cpp 2017-08-10 06:54:02 +03:00