Fail to build tiflash due to unused variables

Bug Report
1. Minimal reproduce step (Required)
clone the repo and try to build it.
mkdir build && cd build
CC=clang CXX=clang++ cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=YES ../

2. What did you expect to see? (Required)
Success
3. What did you see instead (Required)
[0/2] Re-checking globbed directories...
[2/268] Building CXX object dbms/src/Functions/CMakeFiles/clickhouse_functions.dir/FunctionsGeo.cpp.o
FAILED: dbms/src/Functions/CMakeFiles/clickhouse_functions.dir/FunctionsGeo.cpp.o
/usr/bin/ccache /home/jun/opt/clang/bin/clang++ -DBOOST_CONTEXT_EXPORT="" -DBOOST_CONTEXT_NO_LIB -DBOOST_CONTEXT_STATIC_LINK -DBOOST_FIBER_NO_LIB -DBOOST_FIBER_STATIC_LINK -DBOOST_SYSTEM_NO_DEPRECATED -DCARES_STATICLIB -DFIU_ENABLE -DLZ4_DISABLE_DEPRECATE_WARNINGS=1 -DPOCO_STATIC -DPOCO_UNBUNDLED_ZLIB -DSTACK_LINE_READER_BUFFER_SIZE=1024 -DTIFLASH_COMPILER_VPCLMULQDQ_SUPPORT=1 -DTIFLASH_ENABLE_AVX512_SUPPORT=1 -DTIFLASH_ENABLE_AVX_SUPPORT=1 -DTIFLASH_SOURCE_PREFIX=\"/home/jun/dev/tiflash\" -I/home/jun/dev/tiflash/contrib/libdivide -I/home/jun/dev/tiflash/contrib/libmetrohash/src -I/home/jun/dev/tiflash/contrib/libfarmhash -I/home/jun/dev/tiflash/dbms/src -I/home/jun/dev/tiflash/contrib/tiflash-proxy/raftstore-proxy/ffi/src -I/home/jun/dev/tiflash/build/dbms/src -I/home/jun/dev/tiflash/contrib/double-conversion -I/home/jun/dev/tiflash/contrib/boost -I/home/jun/dev/tiflash/contrib/xxHash -I/home/jun/dev/tiflash/contrib/libpcg-random/include -I/home/jun/dev/tiflash/contrib/libcityhash/include -I/home/jun/dev/tiflash/libs/libcommon/include -I/home/jun/dev/tiflash/build/libs/libcommon/include -I/home/jun/dev/tiflash/libs/libpocoext/include -I/home/jun/dev/tiflash/contrib/poco/Data/include -I/home/jun/dev/tiflash/contrib/poco/Foundation/include -I/home/jun/dev/tiflash/contrib/zlib-ng -I/home/jun/dev/tiflash/build/contrib/zlib-ng -I/home/jun/dev/tiflash/contrib/poco/Util/include -I/home/jun/dev/tiflash/contrib/poco/XML/include -I/home/jun/dev/tiflash/contrib/poco/JSON/include -I/home/jun/dev/tiflash/contrib/poco/Net/include -I/home/jun/dev/tiflash/contrib/cctz/include -I/home/jun/dev/tiflash/contrib/jemalloc-cmake/include -I/home/jun/dev/tiflash/contrib/jemalloc-cmake/include_linux_x86_64 -I/home/jun/dev/tiflash/contrib/cpu_features/include -I/home/jun/dev/tiflash/contrib/libcpuid/include -I/home/jun/dev/tiflash/contrib/lz4/lib -I/home/jun/dev/tiflash/contrib/zstd/lib -I/home/jun/dev/tiflash/contrib/client-c/third_party/libfiu/libfiu -I/home/jun/dev/tiflash/contrib/prometheus-cpp/core/include -I/home/jun/dev/tiflash/build/contrib/prometheus-cpp-cmake/core/include -I/home/jun/dev/tiflash/contrib/prometheus-cpp/push/include -I/home/jun/dev/tiflash/build/contrib/prometheus-cpp-cmake/push/include -I/home/jun/dev/tiflash/contrib/prometheus-cpp/pull/include -I/home/jun/dev/tiflash/build/contrib/prometheus-cpp-cmake/pull/include -I/home/jun/dev/tiflash/contrib/cpptoml -I/home/jun/dev/tiflash/contrib/poco/NetSSL_OpenSSL/include -I/home/jun/dev/tiflash/contrib/poco/Crypto/include -I/home/jun/dev/tiflash/contrib/xxHash/cmake_unofficial/.. -I/home/jun/dev/tiflash/contrib/kvproto/cpp -I/home/jun/dev/tiflash/contrib/kvproto/cpp/kvproto -I/home/jun/dev/tiflash/contrib/grpc/include -I/home/jun/dev/tiflash/contrib/client-c/include -I/home/jun/dev/tiflash/build/contrib/grpc/third_party/cares/cares -I/home/jun/dev/tiflash/contrib/grpc/third_party/cares/cares -I/home/jun/dev/tiflash/contrib/tipb/cpp -I/home/jun/dev/tiflash/build/dbms/src/Storages/DeltaMerge/File/dtpb -I/home/jun/dev/tiflash/contrib/libbtrie/include -I/home/jun/dev/tiflash/contrib/abseil-cpp -I/home/jun/dev/tiflash/libs/libconsistent-hashing -I/home/jun/dev/tiflash/build/contrib/libfarmhash -isystem /home/jun/dev/tiflash/contrib/fmtlib-cmake/../fmtlib/include -isystem /home/jun/dev/tiflash/libs/libsymbolization/include -isystem /home/jun/dev/tiflash/contrib/boringssl/include -isystem /home/jun/dev/tiflash/contrib/protobuf/src -isystem /home/jun/dev/tiflash/contrib/re2 -isystem /home/jun/dev/tiflash/build/contrib/re2-cmake -D__GLIBCXX_BITSIZE_INT_N_0=128 -D__GLIBCXX_TYPE_INT_N_0=__int128  -D_GLIBCXX_USE_CXX11_ABI=1 -pipe -msse4.1 -msse4.2 -mpopcnt  -fno-omit-frame-pointer  -Wall -Wno-unused-command-line-argument  -Wnon-virtual-dtor  -Wextra -Werror -g -g3 -ggdb3 -O0 -fverbose-asm -fno-inline  -fPIC -DDUMMY_BACKTRACE -pthread -std=gnu++17 -MD -MT dbms/src/Functions/CMakeFiles/clickhouse_functions.dir/FunctionsGeo.cpp.o -MF dbms/src/Functions/CMakeFiles/clickhouse_functions.dir/FunctionsGeo.cpp.o.d -o dbms/src/Functions/CMakeFiles/clickhouse_functions.dir/FunctionsGeo.cpp.o -c /home/jun/dev/tiflash/dbms/src/Functions/FunctionsGeo.cpp
In file included from /home/jun/dev/tiflash/dbms/src/Functions/FunctionsGeo.cpp:22:
In file included from /home/jun/dev/tiflash/dbms/src/Functions/GeoUtils.h:38:
In file included from /home/jun/dev/tiflash/contrib/boost/boost/geometry.hpp:17:
In file included from /home/jun/dev/tiflash/contrib/boost/boost/geometry/geometry.hpp:58:
In file included from /home/jun/dev/tiflash/contrib/boost/boost/geometry/strategies/strategies.hpp:37:
In file included from /home/jun/dev/tiflash/contrib/boost/boost/geometry/strategies/intersection_strategies.hpp:19:
In file included from /home/jun/dev/tiflash/contrib/boost/boost/geometry/policies/relate/intersection_policy.hpp:21:
/home/jun/dev/tiflash/contrib/boost/boost/geometry/policies/relate/intersection_points.hpp:71:33: error: variable 'count_a' set but not used [-Werror,-Wunused-but-set-variable]
        unsigned int index = 0, count_a = 0, count_b = 0;
                                ^
/home/jun/dev/tiflash/contrib/boost/boost/geometry/policies/relate/intersection_points.hpp:71:46: error: variable 'count_b' set but not used [-Werror,-Wunused-but-set-variable]
        unsigned int index = 0, count_a = 0, count_b = 0;
                                             ^
2 errors generated.
[10/268] Building CXX object dbms/src/Functions/CMakeFiles/clickhouse_functions.dir/divide.cpp.o^C
ninja: build stopped: interrupted by user.

4. What is your TiFlash version? (Required)
main branch
Clang version:
clang version 15.0.0 (https://github.com/llvm/llvm-project/ 4ffd0b6fde4da9a3ba4ee3a189504ce84c118b1c)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/jun/opt/clang/bin

Could you please remove build directory and build again? If failed, please paste the error message here. Much thanks!

Could you please remove build directory and build again? If failed, please paste the error message here. Much thanks!

Hi thanks for the response, I tried again but got exactly the same error message post above :(

Maybe it is related to https://discourse.llvm.org/t/change-in-werror-behavior-in-clang-14/61677

@SchrodingerZhu PTAL

FWIW, you can reproduce my toolchain by:
curl -s https://raw.githubusercontent.com/chromium/chromium/main/tools/clang/scripts/update.py | python3 - --output-dir=/path/to/clang

CC=/path/to/clang/bin/clang CXX=/path/to/clang/bin/clang++ cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=YES ../

@junaire  you can add these lines to suppress the warning from boost
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"

like we suppress other warning in this file
https://github.com/pingcap/tiflash/blob/c6740e5c8d184d854447cd7d8e04939efe99de75/dbms/src/Functions/GeoUtils.h#L25-L46

@junaire you can add these lines to suppress the warning from boost
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"

like we suppress other warning in this file
https://github.com/pingcap/tiflash/blob/c6740e5c8d184d854447cd7d8e04939efe99de75/dbms/src/Functions/GeoUtils.h#L25-L46

Well, now I got another error message....
[0/2] Re-checking globbed directories...
[7/8] Building CXX object dbms/src/Fla...e_perftest.dir/exchange_perftest.cpp.o
FAILED: dbms/src/Flash/tests/CMakeFiles/exchange_perftest.dir/exchange_perftest.cpp.o
/usr/bin/ccache /home/jun/opt/clang/bin/clang++ -DBOOST_CONTEXT_EXPORT="" -DBOOST_CONTEXT_NO_LIB -DBOOST_CONTEXT_STATIC_LINK -DBOOST_FIBER_NO_LIB -DBOOST_FIBER_STATIC_LINK -DBOOST_SYSTEM_NO_DEPRECATED -DCARES_STATICLIB -DFIU_ENABLE -DGTEST_HAS_POSIX_RE=0 -DLZ4_DISABLE_DEPRECATE_WARNINGS=1 -DPOCO_STATIC -DPOCO_UNBUNDLED_ZLIB -DSTACK_LINE_READER_BUFFER_SIZE=1024 -DTIFLASH_COMPILER_VPCLMULQDQ_SUPPORT=1 -DTIFLASH_ENABLE_AVX512_SUPPORT=1 -DTIFLASH_ENABLE_AVX_SUPPORT=1 -DTIFLASH_SOURCE_PREFIX=\"/home/jun/dev/tiflash\" -I/home/jun/dev/tiflash/dbms/src -I/home/jun/dev/tiflash/build/dbms/src/Flash/tests -I/home/jun/dev/tiflash/contrib/googletest/googletest/include -I/home/jun/dev/tiflash/contrib/tiflash-proxy/raftstore-proxy/ffi/src -I/home/jun/dev/tiflash/build/dbms/src -I/home/jun/dev/tiflash/contrib/double-conversion -I/home/jun/dev/tiflash/contrib/boost -I/home/jun/dev/tiflash/contrib/xxHash -I/home/jun/dev/tiflash/contrib/libpcg-random/include -I/home/jun/dev/tiflash/contrib/libcityhash/include -I/home/jun/dev/tiflash/libs/libcommon/include -I/home/jun/dev/tiflash/build/libs/libcommon/include -I/home/jun/dev/tiflash/libs/libpocoext/include -I/home/jun/dev/tiflash/contrib/poco/Data/include -I/home/jun/dev/tiflash/contrib/poco/Foundation/include -I/home/jun/dev/tiflash/contrib/zlib-ng -I/home/jun/dev/tiflash/build/contrib/zlib-ng -I/home/jun/dev/tiflash/contrib/poco/Util/include -I/home/jun/dev/tiflash/contrib/poco/XML/include -I/home/jun/dev/tiflash/contrib/poco/JSON/include -I/home/jun/dev/tiflash/contrib/poco/Net/include -I/home/jun/dev/tiflash/contrib/cctz/include -I/home/jun/dev/tiflash/contrib/jemalloc-cmake/include -I/home/jun/dev/tiflash/contrib/jemalloc-cmake/include_linux_x86_64 -I/home/jun/dev/tiflash/contrib/cpu_features/include -I/home/jun/dev/tiflash/contrib/libcpuid/include -I/home/jun/dev/tiflash/contrib/lz4/lib -I/home/jun/dev/tiflash/contrib/zstd/lib -I/home/jun/dev/tiflash/contrib/client-c/third_party/libfiu/libfiu -I/home/jun/dev/tiflash/contrib/prometheus-cpp/core/include -I/home/jun/dev/tiflash/build/contrib/prometheus-cpp-cmake/core/include -I/home/jun/dev/tiflash/contrib/prometheus-cpp/push/include -I/home/jun/dev/tiflash/build/contrib/prometheus-cpp-cmake/push/include -I/home/jun/dev/tiflash/contrib/prometheus-cpp/pull/include -I/home/jun/dev/tiflash/build/contrib/prometheus-cpp-cmake/pull/include -I/home/jun/dev/tiflash/contrib/cpptoml -I/home/jun/dev/tiflash/contrib/poco/NetSSL_OpenSSL/include -I/home/jun/dev/tiflash/contrib/poco/Crypto/include -I/home/jun/dev/tiflash/contrib/xxHash/cmake_unofficial/.. -I/home/jun/dev/tiflash/contrib/kvproto/cpp -I/home/jun/dev/tiflash/contrib/kvproto/cpp/kvproto -I/home/jun/dev/tiflash/contrib/grpc/include -I/home/jun/dev/tiflash/contrib/client-c/include -I/home/jun/dev/tiflash/build/contrib/grpc/third_party/cares/cares -I/home/jun/dev/tiflash/contrib/grpc/third_party/cares/cares -I/home/jun/dev/tiflash/contrib/tipb/cpp -I/home/jun/dev/tiflash/build/dbms/src/Storages/DeltaMerge/File/dtpb -I/home/jun/dev/tiflash/contrib/libbtrie/include -I/home/jun/dev/tiflash/contrib/abseil-cpp -I/home/jun/dev/tiflash/contrib/libdivide -I/home/jun/dev/tiflash/contrib/libmetrohash/src -I/home/jun/dev/tiflash/contrib/libfarmhash -I/home/jun/dev/tiflash/libs/libdaemon/include -I/home/jun/dev/tiflash/contrib/libunwind/include -isystem /home/jun/dev/tiflash/contrib/fmtlib-cmake/../fmtlib/include -isystem /home/jun/dev/tiflash/libs/libsymbolization/include -isystem /home/jun/dev/tiflash/contrib/boringssl/include -isystem /home/jun/dev/tiflash/contrib/protobuf/src -isystem /home/jun/dev/tiflash/contrib/re2 -isystem /home/jun/dev/tiflash/build/contrib/re2-cmake -D__GLIBCXX_BITSIZE_INT_N_0=128 -D__GLIBCXX_TYPE_INT_N_0=__int128  -D_GLIBCXX_USE_CXX11_ABI=1 -pipe -msse4.1 -msse4.2 -mpopcnt  -fno-omit-frame-pointer  -Wall -Wno-unused-command-line-argument  -Wnon-virtual-dtor  -Wextra -Werror -g -g3 -ggdb3 -O0 -fverbose-asm -fno-inline  -fPIC -DDUMMY_BACKTRACE -pthread -std=gnu++17 -MD -MT dbms/src/Flash/tests/CMakeFiles/exchange_perftest.dir/exchange_perftest.cpp.o -MF dbms/src/Flash/tests/CMakeFiles/exchange_perftest.dir/exchange_perftest.cpp.o.d -o dbms/src/Flash/tests/CMakeFiles/exchange_perftest.dir/exchange_perftest.cpp.o -c /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:15:
In file included from /home/jun/dev/tiflash/dbms/src/Common/ConcurrentBoundedQueue.h:17:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Mutex.h:21:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Foundation.h:152:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Bugcheck.h:22:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/string:41:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/allocator.h:46:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10/bits/c++allocator.h:33:
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/ext/new_allocator.h:150:23: error: no matching constructor for initialization of 'DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>'
        { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
                             ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/alloc_traits.h:512:8: note: in instantiation of function template specialization '__gnu_cxx::new_allocator<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>::construct<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>, std::shared_ptr<DB::tests::(anonymous namespace)::MockReceiverContext>, const int &, int, std::nullptr_t>' requested here
          __a.construct(__p, std::forward<_Args>(__args)...);
              ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:551:30: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>>::construct<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>, std::shared_ptr<DB::tests::(anonymous namespace)::MockReceiverContext>, const int &, int, std::nullptr_t>' requested here
          allocator_traits<_Alloc>::construct(__a, _M_ptr(),
                                    ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:683:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>, std::allocator<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<std::shared_ptr<DB::tests::(anonymous namespace)::MockReceiverContext>, const int &, int, std::nullptr_t>' requested here
            _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
            ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:1371:14: note: in instantiation of function template specialization 'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>, std::allocator<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, std::shared_ptr<DB::tests::(anonymous namespace)::MockReceiverContext>, const int &, int, std::nullptr_t>' requested here
        : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
                    ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:408:4: note: in instantiation of function template specialization 'std::__shared_ptr<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>, __gnu_cxx::_S_atomic>::__shared_ptr<std::allocator<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, std::shared_ptr<DB::tests::(anonymous namespace)::MockReceiverContext>, const int &, int, std::nullptr_t>' requested here
        : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
          ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:859:14: note: in instantiation of function template specialization 'std::shared_ptr<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>::shared_ptr<std::allocator<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, std::shared_ptr<DB::tests::(anonymous namespace)::MockReceiverContext>, const int &, int, std::nullptr_t>' requested here
      return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
             ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:875:19: note: in instantiation of function template specialization 'std::allocate_shared<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>, std::allocator<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, std::shared_ptr<DB::tests::(anonymous namespace)::MockReceiverContext>, const int &, int, std::nullptr_t>' requested here
      return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
                  ^
/home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:432:21: note: in instantiation of function template specialization 'std::make_shared<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>, std::shared_ptr<DB::tests::(anonymous namespace)::MockReceiverContext>, const int &, int, std::nullptr_t>' requested here
        return std::make_shared<MockExchangeReceiver>(
                    ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/ExchangeReceiver.h:90:5: note: candidate constructor not viable: requires 5 arguments, but 4 were provided
    ExchangeReceiverBase(
    ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/ExchangeReceiver.h:83:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 4 were provided
class ExchangeReceiverBase
      ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:15:
In file included from /home/jun/dev/tiflash/dbms/src/Common/ConcurrentBoundedQueue.h:17:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Mutex.h:21:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Foundation.h:152:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Bugcheck.h:22:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/string:41:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/allocator.h:46:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10/bits/c++allocator.h:33:
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/ext/new_allocator.h:150:23: error: no matching constructor for initialization of 'DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>'
        { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
                             ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/alloc_traits.h:512:8: note: in instantiation of function template specialization '__gnu_cxx::new_allocator<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>>::construct<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, std::shared_ptr<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>> &, std::nullptr_t>' requested here
          __a.construct(__p, std::forward<_Args>(__args)...);
              ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:551:30: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>>>::construct<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, std::shared_ptr<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>> &, std::nullptr_t>' requested here
          allocator_traits<_Alloc>::construct(__a, _M_ptr(),
                                    ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:683:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, std::allocator<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<std::shared_ptr<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>> &, std::nullptr_t>' requested here
            _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
            ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:1371:14: note: in instantiation of function template specialization 'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, std::allocator<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>>, std::shared_ptr<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>> &, std::nullptr_t>' requested here
        : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
                    ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:408:4: note: in instantiation of function template specialization 'std::__shared_ptr<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, __gnu_cxx::_S_atomic>::__shared_ptr<std::allocator<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>>, std::shared_ptr<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>> &, std::nullptr_t>' requested here
        : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
          ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:859:14: note: in instantiation of function template specialization 'std::shared_ptr<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>>::shared_ptr<std::allocator<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>>, std::shared_ptr<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>> &, std::nullptr_t>' requested here
      return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
             ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:875:19: note: in instantiation of function template specialization 'std::allocate_shared<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, std::allocator<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>>, std::shared_ptr<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>> &, std::nullptr_t>' requested here
      return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
                  ^
/home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:444:36: note: in instantiation of function template specialization 'std::make_shared<DB::TiRemoteBlockInputStream<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>>, std::shared_ptr<DB::ExchangeReceiverBase<DB::tests::(anonymous namespace)::MockReceiverContext>> &, std::nullptr_t>' requested here
            streams.push_back(std::make_shared<MockExchangeReceiverInputStream>(receiver, nullptr));
                                   ^
/home/jun/dev/tiflash/dbms/src/DataStreams/TiRemoteBlockInputStream.h:36:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class TiRemoteBlockInputStream : public IProfilingBlockInputStream
      ^
/home/jun/dev/tiflash/dbms/src/DataStreams/TiRemoteBlockInputStream.h:171:5: note: candidate constructor not viable: requires 3 arguments, but 2 were provided
    TiRemoteBlockInputStream(std::shared_ptr<RemoteReader> remote_reader_, const String & req_id, const String & executor_id)
    ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:15:
In file included from /home/jun/dev/tiflash/dbms/src/Common/ConcurrentBoundedQueue.h:17:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Mutex.h:21:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Foundation.h:152:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Bugcheck.h:22:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/string:41:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/allocator.h:46:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10/bits/c++allocator.h:33:
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/ext/new_allocator.h:150:23: error: no matching constructor for initialization of 'DB::Join'
        { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
                             ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/alloc_traits.h:512:8: note: in instantiation of function template specialization '__gnu_cxx::new_allocator<DB::Join>::construct<DB::Join, std::vector<std::basic_string<char>>, std::vector<std::basic_string<char>>, bool, DB::SizeLimits, DB::ASTTableJoin::Kind, DB::ASTTableJoin::Strictness, int &, std::vector<const TiDB::ITiDBCollator *>, const char (&)[1], const char (&)[1], const char (&)[1], const char (&)[1], std::nullptr_t, int>' requested here
          __a.construct(__p, std::forward<_Args>(__args)...);
              ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:551:30: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<DB::Join>>::construct<DB::Join, std::vector<std::basic_string<char>>, std::vector<std::basic_string<char>>, bool, DB::SizeLimits, DB::ASTTableJoin::Kind, DB::ASTTableJoin::Strictness, int &, std::vector<const TiDB::ITiDBCollator *>, const char (&)[1], const char (&)[1], const char (&)[1], const char (&)[1], std::nullptr_t, int>' requested here
          allocator_traits<_Alloc>::construct(__a, _M_ptr(),
                                    ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:683:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<DB::Join, std::allocator<DB::Join>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<std::vector<std::basic_string<char>>, std::vector<std::basic_string<char>>, bool, DB::SizeLimits, DB::ASTTableJoin::Kind, DB::ASTTableJoin::Strictness, int &, std::vector<const TiDB::ITiDBCollator *>, const char (&)[1], const char (&)[1], const char (&)[1], const char (&)[1], std::nullptr_t, int>' requested here
            _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
            ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:1371:14: note: in instantiation of function template specialization 'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<DB::Join, std::allocator<DB::Join>, std::vector<std::basic_string<char>>, std::vector<std::basic_string<char>>, bool, DB::SizeLimits, DB::ASTTableJoin::Kind, DB::ASTTableJoin::Strictness, int &, std::vector<const TiDB::ITiDBCollator *>, const char (&)[1], const char (&)[1], const char (&)[1], const char (&)[1], std::nullptr_t, int>' requested here
        : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
                    ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:408:4: note: in instantiation of function template specialization 'std::__shared_ptr<DB::Join, __gnu_cxx::_S_atomic>::__shared_ptr<std::allocator<DB::Join>, std::vector<std::basic_string<char>>, std::vector<std::basic_string<char>>, bool, DB::SizeLimits, DB::ASTTableJoin::Kind, DB::ASTTableJoin::Strictness, int &, std::vector<const TiDB::ITiDBCollator *>, const char (&)[1], const char (&)[1], const char (&)[1], const char (&)[1], std::nullptr_t, int>' requested here
        : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
          ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:859:14: note: in instantiation of function template specialization 'std::shared_ptr<DB::Join>::shared_ptr<std::allocator<DB::Join>, std::vector<std::basic_string<char>>, std::vector<std::basic_string<char>>, bool, DB::SizeLimits, DB::ASTTableJoin::Kind, DB::ASTTableJoin::Strictness, int &, std::vector<const TiDB::ITiDBCollator *>, const char (&)[1], const char (&)[1], const char (&)[1], const char (&)[1], std::nullptr_t, int>' requested here
      return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
             ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:875:19: note: in instantiation of function template specialization 'std::allocate_shared<DB::Join, std::allocator<DB::Join>, std::vector<std::basic_string<char>>, std::vector<std::basic_string<char>>, bool, DB::SizeLimits, DB::ASTTableJoin::Kind, DB::ASTTableJoin::Strictness, int &, std::vector<const TiDB::ITiDBCollator *>, const char (&)[1], const char (&)[1], const char (&)[1], const char (&)[1], std::nullptr_t, int>' requested here
      return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
                  ^
/home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:458:25: note: in instantiation of function template specialization 'std::make_shared<DB::Join, std::vector<std::basic_string<char>>, std::vector<std::basic_string<char>>, bool, DB::SizeLimits, DB::ASTTableJoin::Kind, DB::ASTTableJoin::Strictness, int &, std::vector<const TiDB::ITiDBCollator *>, const char (&)[1], const char (&)[1], const char (&)[1], const char (&)[1], std::nullptr_t, int>' requested here
        join_ptr = std::make_shared<Join>(
                        ^
/home/jun/dev/tiflash/dbms/src/Interpreters/Join.h:95:5: note: candidate constructor not viable: no known conversion from 'int' to 'const DB::String' (aka 'const basic_string<char>') for 7th argument
    Join(const Names & key_names_left_,
    ^
/home/jun/dev/tiflash/dbms/src/Interpreters/Join.h:92:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 14 were provided
class Join
      ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:15:
In file included from /home/jun/dev/tiflash/dbms/src/Common/ConcurrentBoundedQueue.h:17:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Mutex.h:21:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Foundation.h:152:
In file included from /home/jun/dev/tiflash/contrib/poco/Foundation/include/Poco/Bugcheck.h:22:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/string:41:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/allocator.h:46:
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10/bits/c++allocator.h:33:
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/ext/new_allocator.h:150:23: error: no matching constructor for initialization of 'DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>'
        { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
                             ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/alloc_traits.h:512:8: note: in instantiation of function template specialization '__gnu_cxx::new_allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>::construct<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
          __a.construct(__p, std::forward<_Args>(__args)...);
              ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:551:30: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>::construct<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
          allocator_traits<_Alloc>::construct(__a, _M_ptr(),
                                    ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:683:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
            _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
            ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:1371:14: note: in instantiation of function template specialization 'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
        : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
                    ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:408:4: note: in instantiation of function template specialization 'std::__shared_ptr<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, __gnu_cxx::_S_atomic>::__shared_ptr<std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
        : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
          ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:859:14: note: in instantiation of function template specialization 'std::shared_ptr<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>::shared_ptr<std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
      return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
             ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:875:19: note: in instantiation of function template specialization 'std::allocate_shared<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
      return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
                  ^
/home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:519:32: note: in instantiation of function template specialization 'std::make_shared<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
            auto tunnel = std::make_shared<MockTunnel>(
                               ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnel.h:135:5: note: candidate constructor not viable: requires 6 arguments, but 5 were provided
    MPPTunnelBase(
    ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnel.h:85:5: note: candidate constructor not viable: requires 7 arguments, but 5 were provided
    MPPTunnelBase(
    ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnel.h:82:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 5 were provided
class MPPTunnelBase : private boost::noncopyable
      ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:29:
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnel.cpp:113:17: error: no member named 'tryFlushOne' in 'DB::tests::(anonymous namespace)::MockWriter'
        writer->tryFlushOne();
        ~~~~~~  ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnel.cpp:94:13: note: in instantiation of member function 'DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>::finishSendQueue' requested here
            finishSendQueue();
            ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/ext/new_allocator.h:156:10: note: in instantiation of member function 'DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>::~MPPTunnelBase' requested here
        { __p->~_Up(); }
                ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/alloc_traits.h:531:8: note: in instantiation of function template specialization '__gnu_cxx::new_allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>::destroy<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>' requested here
          __a.destroy(__p);
              ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:560:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>::destroy<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>' requested here
        allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
                                  ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:546:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
        _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
        ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:683:6: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
            _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
            ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:1371:14: note: in instantiation of function template specialization 'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
        : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
                    ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:408:4: note: in instantiation of function template specialization 'std::__shared_ptr<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, __gnu_cxx::_S_atomic>::__shared_ptr<std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
        : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
          ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:859:14: note: in instantiation of function template specialization 'std::shared_ptr<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>::shared_ptr<std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
      return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
             ^
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:875:19: note: in instantiation of function template specialization 'std::allocate_shared<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, std::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
      return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
                  ^
/home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:519:32: note: in instantiation of function template specialization 'std::make_shared<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, mpp::TaskMeta &, mpp::TaskMeta &, std::chrono::duration<long>, const int &, bool>' requested here
            auto tunnel = std::make_shared<MockTunnel>(
                               ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:29:
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnel.cpp:197:26: error: no member named 'write' in 'DB::tests::(anonymous namespace)::MockWriter'
            if (!writer->write(*res))
                 ~~~~~~  ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnel.cpp:281:21: note: in instantiation of member function 'DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>::sendJob' requested here
                    sendJob();
                    ^
/home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:525:21: note: in instantiation of member function 'DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>::connect' requested here
            tunnel->connect(writer.get());
                    ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:29:
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnel.cpp:225:17: error: no member named 'writeDone' in 'DB::tests::(anonymous namespace)::MockWriter'
        writer->writeDone(grpc::Status::OK);
        ~~~~~~  ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnel.cpp:168:25: error: no member named 'tryFlushOne' in 'DB::tests::(anonymous namespace)::MockWriter'
                writer->tryFlushOne();
                ~~~~~~  ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.cpp:108:28: note: in instantiation of member function 'DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>::write' requested here
    tunnels[partition_id]->write(packet);
                           ^
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:296:25: note: in instantiation of member function 'DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>::write' requested here
                writer->write(packet[part_id], part_id);
                        ^
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:310:9: note: in instantiation of function template specialization 'DB::StreamingDAGResponseWriter<std::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::partitionAndEncodeThenWriteBlocks<false>' requested here
        partitionAndEncodeThenWriteBlocks<send_exec_summary_at_last>(blocks, response);
        ^
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:96:9: note: in instantiation of function template specialization 'DB::StreamingDAGResponseWriter<std::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::batchWrite<false>' requested here
        batchWrite<false>();
        ^
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.h:40:5: note: in instantiation of member function 'DB::StreamingDAGResponseWriter<std::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::write' requested here
    StreamingDAGResponseWriter(
    ^
/home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:551:21: note: in instantiation of member function 'DB::StreamingDAGResponseWriter<std::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::StreamingDAGResponseWriter' requested here
                new StreamingDAGResponseWriter<MockTunnelSetPtr>(
                    ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:27:
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:119:29: error: no matching member function for call to 'write'
                    writer->write(packet);
                    ~~~~~~~~^~~~~
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:314:9: note: in instantiation of function template specialization 'DB::StreamingDAGResponseWriter<std::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::encodeThenWriteBlocks<true>' requested here
        encodeThenWriteBlocks<send_exec_summary_at_last>(blocks, response);
        ^
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:78:9: note: in instantiation of function template specialization 'DB::StreamingDAGResponseWriter<std::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::batchWrite<true>' requested here
        batchWrite<true>();
        ^
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.h:40:5: note: in instantiation of member function 'DB::StreamingDAGResponseWriter<std::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::finishWrite' requested here
    StreamingDAGResponseWriter(
    ^
/home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:551:21: note: in instantiation of member function 'DB::StreamingDAGResponseWriter<std::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::StreamingDAGResponseWriter' requested here
                new StreamingDAGResponseWriter<MockTunnelSetPtr>(
                    ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:52:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(mpp::MPPDataPacket & packet, int16_t partition_id);
         ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:51:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(tipb::SelectResponse & response, int16_t partition_id);
         ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:27:
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:129:21: error: no matching member function for call to 'write'
            writer->write(packet);
            ~~~~~~~~^~~~~
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:52:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(mpp::MPPDataPacket & packet, int16_t partition_id);
         ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:51:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(tipb::SelectResponse & response, int16_t partition_id);
         ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:27:
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:138:29: error: no matching member function for call to 'write'
                    writer->write(response);
                    ~~~~~~~~^~~~~
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:52:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(mpp::MPPDataPacket & packet, int16_t partition_id);
         ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:51:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(tipb::SelectResponse & response, int16_t partition_id);
         ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:27:
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:149:21: error: no matching member function for call to 'write'
            writer->write(response);
            ~~~~~~~~^~~~~
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:52:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(mpp::MPPDataPacket & packet, int16_t partition_id);
         ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:51:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(tipb::SelectResponse & response, int16_t partition_id);
         ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:27:
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:159:25: error: no matching member function for call to 'write'
                writer->write(response);
                ~~~~~~~~^~~~~
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:52:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(mpp::MPPDataPacket & packet, int16_t partition_id);
         ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:51:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(tipb::SelectResponse & response, int16_t partition_id);
         ^
In file included from /home/jun/dev/tiflash/dbms/src/Flash/tests/exchange_perftest.cpp:27:
/home/jun/dev/tiflash/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:190:17: error: no matching member function for call to 'write'
        writer->write(response);
        ~~~~~~~~^~~~~
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:52:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(mpp::MPPDataPacket & packet, int16_t partition_id);
         ^
/home/jun/dev/tiflash/dbms/src/Flash/Mpp/MPPTunnelSet.h:51:10: note: candidate function not viable: requires 2 arguments, but 1 was provided
    void write(tipb::SelectResponse & response, int16_t partition_id);
         ^
14 errors generated.
ninja: build stopped: subcommand failed.

Seems that you are building all instead of the tiflash binary only. There are some test may left broken.
Try to use ninja -j4 tiflash?

@junaire maybe you can also file a PR to suppress the warning on GeoUtils.h? https://github.com/pingcap/tiflash/issues/4771#issuecomment-1110891318


Perturbation to find influential features in training data

Hi,
I am trying to find the influential features of a training instance which affect the test prediction on the MNIST dataset.
This is described in Section 2.2 "Perturbing a training input" as Ipert,loss(Z, Ztest) Link.The authors further describe that this equation can be used to find the features of Z that are most responsible for the prediction on Ztest.
In my current, approach I use the sign of Ipert,loss(Z,Ztest) to determine the perturbation value. However, I am unsure of how the perturbation of the image should actually be done.
I cannot find an explanation for that in the paper.
Thanks in advance.

It might be changing the RGB value of the pixel

Do you suggest an iterative approach, where the pixel value is updated in the direction of sign of Ipert,loss(Z,Ztest)?

I think it's possible that you could update the pixel value to 0 directly

So pixels with a negative Ipert,loss(Z,Ztest) can be updated to zero directly? Is that what you meant?
Thanks a lot for your help :)

@vsai121 You can find papers about adversarial examples or data poisoning. In general you can generate any noise x_noise and produce the perturbation as x_per = clip(x+x_noise). The clip makes sure the values are in the reasonable range. In the adversarial examples or similar fields, we get the x_noise=epsilon * d_loss / d_x, where epsilon is a very small scalar.

@tengerye thanks for the response!


gcloud._helpers._compute_engine_id should return a str (Python 3)

From https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/92:
I stumbled upon this while deploying my app for the first time on GKE/GCE.
I had to explicitly specify project when creating a client: gcloud.datastore.Client(project="my-project"), otherwise I just got an gcloud.exceptions.ServiceUnavailable: 503 Backend Error.
First I thought the problem would be that autodetecting the project-id didn't work, but gcloud.datastore.Client(credentials=credentials, project=project) returns my project-id, be it as bytes instead of str.
I quickly verified that using bytes as a project-id does not work, i.e. gcloud.datastore.Client(project=b"my-project") resulted in that neat 503 Backend Error.

Thanks. This has come up before (I'll try to track down where). I wish there was an easy way to run system tests on GCE and GAE.

#1470 was when it came up. "Fixed" in #1505

@pcostell What version are you using? It seems like this should be all fixed in datastore-v1beta3 branch

sorry I copied this from the Datastore issue tracker. @flunderpero, can you share what gcloud version you are using?

DERP. Sorry I didn't even notice that

I'm using gcloud 0.11.0 installed from PyPi.

Thanks. Right now the datastore Client doesn't use the project mix-in. I "imagined" that the Client in the datastore-v1beta3 branch did "the right thing", but that hasn't been updated either.
Thanks for poking me into noticing this change was needed!


AVRO-3882: [Java][Build] Capture build scans on ge.apache.org to benefit from deep build insights

@iemejia and @RyanSkraba, it was nice meeting you at Community over Code this weekend. This is a PR that would utilize Develocity as discussed.
What is the purpose of the change
This PR publishes a build scan for every CI build and for every local build from an authenticated Apache committer. The build will not fail if publishing fails.
The build scans of the Apache Avro project are published to the Develocity instance at ge.apache.org, hosted by the Apache Software Foundation and run in partnership between the ASF and Gradle. This Develocity instance has all features and extensions enabled and is freely available for use by the Apache Avro project and all other Apache projects.
On this Develocity instance, Apache Avro will have access not only to all of the published build scans but other aggregate data features such as:

Dashboards to view all historical build scans, along with performance trends over time
Build failure analytics for enhanced investigation and diagnosis of build failures
Test failure analytics to better understand trends and causes around slow, failing, and flaky tests

Please let me know if there are any questions about the value of Develocity or the changes in this pull request and I’d be happy to address them.
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Documentation

Does this pull request introduce a new feature? no

It is the former: because you have no access key, it will not attempt to authenticate. The unauthenticated contributor won't see anything different happen in their build.

What useful information would GE give to the developer ?
I checked several projects (e.g. Bean, Kafka and Camel) and I didn't see anything that is not already in the logs.
Since it should not affect my local builds I don't mind having this, but I doubt that anyone would check the GE results after the "excitement" period

Also I think there is no need to upload data for the non-Java workflows, i.e. the interop jobs.

Done, although I left if for the Java one. If it doesn't make sense there either, let me know.

What useful information would GE give to the developer ?
I checked several projects (e.g. Bean, Kafka and Camel) and I didn't see anything that is not already in the logs.
Since it should not affect my local builds I don't mind having this, but I doubt that anyone would check the GE results after the "excitement" period

Good question. Most that we work with do not like having to parse through logs, but beyond that:

Having the information in this format makes the information much more shareable. You can link directly to different parts of the build scan to more easily collaborate.
Will measure the wall clock impact of downloading dependencies (this one is not as interesting a zero seconds), plus how long downloads take
Can filter through dependencies. For example, these are all dependencies that resolved to a different version than requested
It will store the cache report, since you are using the Maven cache
You can compare two builds to see what is different between them

By aggregating all of this data, you can start to see trends as well through some of the performance, failure, and test dashboards. One popular use case is identifying flaky tests so that they can be acted on (for example).
Perhaps those I tagged in the PR will have more direct ideas on how this can help Avro based on what they saw. I created a build scan of the Avro project over here if you are interested in seeing the specifics for this project.

Wow -- thanks for this PR, it's really educational for me!  I'm currently still on a vacation after the Community over Code conference, but I'm looking forward to looking at this next week :heart:

I am +1 with this, the changes seem not intrusive so we can 'easily' roll them back if we decide so.
(Ryan just for my own reference where can we find the INFRA instructions for this tool).


Make API key required in config

To simplify the API and make it possible to run multiple machines from different projects, we shouldn't implicitly grab the API key from .env, but instead do what other APIs do, which is require them directly.
We should direct users to put these API keys in their environment variables file and then read it in via process.env.ANY_API_KEY_VAR.

... and make it possible to run multiple machines from different projects
We need to update the xstate sky cmd for this to work properly. I've created STA-5554 for this work.

@davidkpiano Instead of you having to handle all our comments here I opened a new PR with this change here #14


adapt to OpenSearch 2.x

Description
DO NOT MERGE INTO main
this adapts the template to OpenSearch 2.x (currently: 2.15.0-SNAPSHOT).
as there's no 2.x branch on this repo yet i can only target the main branch. i'd suggest that you create a 2.x branch (based off of main; can only be done by maintainers) and then re-target this PR to the 2.x branch.
Issues Resolved
resolves #66
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Ok, so one of the drawbacks of branches is that [Use this template] button does not allow to select a branch but will clone the repo (plugin template) with all branches [1]
[1] https://github.blog/changelog/2020-03-31-include-all-branches-when-creating-a-repository-from-a-template/

i'm aware of this, however i think it's a good approach: when you create the repo from the template you have to toggle the checkbox that it should copy all branches and then you get main (targeting 3.xand2.x` (targeting 2.x) and can implement both of them - the plugin repo will after all follow the same branch pattern. and if someone only wants to target 3.x they can just skip the checkbox.
the only alternative i see is that you could instead create a complete separate repo for 2.x, but that'd not match what actual plugins do which support multiple versions with different branches in the same repo

Thanks @rursprung , we need one more approval to get it in :)


Edit pass: Capture photos and video with Windows built-in camera UI

Edit pass in progress. Please don't review yet!

@megvanhuygen : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Added Argilla support for standard partitions with FeedbackDataset

Closes #1171
Added support for partition of single-page/element partitions using a pre-defined field-set in Argilla FeedbackDataset.
PARTITION_DATASET_FIELDS = {
    # DEFAULT
    "defaults": [ # TODO: do we want to include defaults?
        TextField(name="filename", use_markdown=True),
        TextField(name="last_modified", use_markdown=True),
        TextField(name="filetype", use_markdown=True),
    ],
    # EMAIL
    ARGILLA_PARTITION_TYPES.MSG: [
        TextField(name="sent_from", use_markdown=True),
        TextField(name="sent_to", use_markdown=True),
        TextField(name="subject", use_markdown=True),
        TextField(name="text", use_markdown=True),
        TextField(name="text_with_sep", use_markdown=True)
    ],
    ARGILLA_PARTITION_TYPES.EML: [
        TextField(name="sent_from", use_markdown=True),
        TextField(name="sent_to", use_markdown=True),
        TextField(name="subject", use_markdown=True),
        TextField(name="text", use_markdown=True),
        TextField(name="text_with_sep", use_markdown=True)
    ],
    # TABLES
    # TODO: do we want to correction questions for tables?
    ARGILLA_PARTITION_TYPES.CSV: [
        TextField(name="table", use_markdown=True),
        TextField(name="raw_csv", use_markdown=True),
    ],
    ARGILLA_PARTITION_TYPES.TSV: [
        TextField(name="table", use_markdown=True),
        TextField(name="raw_csv", use_markdown=True),
    ],
    ARGILLA_PARTITION_TYPES.XLSX: [
        TextField(name="page_name", use_markdown=True),
        TextField(name="table", use_markdown=True),
    ],
    ARGILLA_PARTITION_TYPES.XLS: [
        TextField(name="page_name", use_markdown=True),
        TextField(name="table", use_markdown=True),
    ],
    # SLIDES
    ARGILLA_PARTITION_TYPES.PPT: [
        TextField(name="page_number", use_markdown=True),
        TextField(name="title", use_markdown=True, required=False),
        TextField(name="content", use_markdown=True, required=False),
    ],
    ARGILLA_PARTITION_TYPES.PPTX: [
        TextField(name="page_number", use_markdown=True),
        TextField(name="title", use_markdown=True, required=False),
        TextField(name="content", use_markdown=True, required=False),
    ],
    # TEXT
    ARGILLA_PARTITION_TYPES.HTML: [
        TextField(name="head", use_markdown=True),
        TextField(name="body", use_markdown=True),
        TextField(name="scripts", use_markdown=True),
    ]
}

Discussion points:

how will we represent freeform text partitions

with pages like PDF and WORD
without pages like TXT and RTF
with DOM like HTML
I can see them being automatically unwrapped over new records on a paragraph or page level.

Do we want to include DEFAULT Fields for every partition type

    # DEFAULT
    "defaults": [ # TODO: do we want to include defaults?
        TextField(name="filename", use_markdown=True),
        TextField(name="last_modified", use_markdown=True),
        TextField(name="filetype", use_markdown=True),
    ],

Do we want to include  DEFAULT Questions? I can see a default Question for CSV being for example a request to correct the CSV, but I am unsure about the normal usage of each partition type.
Can MSG and EML types contain multiple emails?
How do we want to resolve potentially mixed partition_multiple_via_api, and partition_via_api?

Example Argilla UI MSG/EML

Example Argilla UI TSV/CSV

Example Argilla UI PPT

Example Argilla UI XLSX

Hi @davidberenstein1957 , I've been tracking this PR. I just want to verify that this is still in draft because it's not ready yet, correct?

@qued it is still in draft.
But I have been asking for some input from your side. Shown below. Also, I am not sure how

Discussion points:

how will we represent freeform text partitions

with pages like PDF and WORD
without pages like TXT and RTF
with DOM like HTML and XML
I can see them being automatically unwrapped over new records on a paragraph or page level.

Do we want to include DEFAULT Fields for every partition type

    # DEFAULT
    "defaults": [
        TextField(name="filename", use_markdown=True),
        TextField(name="last_modified", use_markdown=True),
        TextField(name="filetype", use_markdown=True),
    ],

Do we want to include  DEFAULT Questions? I can see a default Question for CSV being for example a request to correct the CSV, but I am unsure about the normal usage of each partition type.
Can MSG and EML types contain multiple emails?
How do we want to resolve potentially mixed partition_multiple_via_api, and partition_via_api? => all to another dataset?
Do we want to include metadata to each record?

@qued I took some decisions and if approved, I will work on some docs.

Closing this PR since it's been a while.


Add My Website To List Of Websites That Use Conversational Form

It is my portfolio website so I am not really sure if that's allowed to be added to the list.

Hi @anshap1719. Thank you for the PR and your contribution. Going forward we will not be maintaining a list of "Websites that use" and for that reason, I will close this PR.


Check weather given string is palindrome or not

issue #346 solved
Python
Doubly linked list

hello ;
I'm Anamika jain , GSSoC participant
please assign this to me @Aarti002 @anubhavitis @aaadddiii @tarun26091999 @dheerajkotwani

hey @ANAMIKA1410 i'm a participant as well :)

can I solve this issue #1239 in java without using a linked list? if yes so please assign it to me.

@plazzy99 i have a doubt where we should keep this solutions file? in "Code"  folder or topic related folder like in this case "Linked-List", please help!
Thank you!

@plazzy99 i have a doubt where we should keep this solutions file? in "Code" folder or topic related folder like in this case "Linked-List", please help!
Thank you!

https://github.com/Algo-Phantoms/Algo-Tree/issues/1202

@plazzy99 please check once i have added my code link in readme file
Thank you!

@rudrakshi99 look into it.


Panic when socket is closed

Hello,
When the socket is getting closed for any reason, the send method panic due to the call of the unwrap method:
thread 'tokio-runtime-worker' panicked at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/binance_spot_connector_rust-1.1.0/src/tokio_tun>
called `Result::unwrap()` on an `Err` value: AlreadyClosed

https://github.com/binance/binance-spot-connector-rust/blob/e7293ef2aae12f7442979607bd869598b86a9ced/src/tokio_tungstenite.rs#L69
Would it be possible to change this behaviour to avoid a panic, it might be complex to catch and make it difficult to build a robust service. Ideally while receiving message from the websocket it should return an Error in the result of the next() method of the connection object when this happen, allowing to rebuild the connection property and not crash the service.

Hey,
When you say closed for any reason, do you mean that the WebSocket stream returned an error that closed the connection? Do you have a way to reproduce this error?


Add registration information

Once registration information is ready, this information should be published on the front page in a subhead and also a button to registration eventbrite page. Planned for June 27.

We will use eventbrite: https://carpentrycon2022.eventbrite.com/
Planned registration open date is now: July 1

This is prepped in PR #71


Incompatible types

I am trying to use this as an example for my own app, however i am getting a Typescript error on the following assignment from this example app.
createSelector (from reselect library) function's return type is Selector<State, boolean> wrapped in an Observable, where boolean is obviously the type of a property i'm trying to get to. So Typescript, understandably, is having a hard time casting Selector<State, boolean> to just boolean.
// index.ts
...
// selector functions
export const getLoginState = (state: State) => state.login;

export const getLoginLoading = (state: State) => createSelector(getLoginState, fromLogin.getLoading);
...

// where fromLogin is exported from
...
export const getLoading = (state: State) => state.loading;
...

// component
...
export class MyComponent {
  loading: Observable<boolean>;

  constructor(private store: Store) {
    // here is where the error is
    this.loading = store.selector(fromRoot.getLoginLoading);
  }
}

What am i missing here?..

getLoginLoading shouldn't be a function that returns a selector. It should just return the created selector
export const getLoginLoading = createSelector(getLoginState, fromLogin.getLoading);

Totally missed that, my bad! Sorry about that and thanks for such a quick response :)


TimesheetEntry Model Fixed Searchkick

Notion card
Summary

Preview

Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactor (non-breaking and retains same functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to
not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?

Checklist:

[ ] I have manually tested all workflows
[ ] I have performed a self-review of my own code
[ ] I have annotated changes in the PR that are relevant to the reviewer
[ ] I have added automated tests for my code

Can we please do regression testing here? @supriya3105 @apoorv1316


#13 adding reference to the GitHub path

This PR includes an update of connectivity references, including:

Github Path
sha
date

Thanks, but please, please, please check for, and merge, any upstream commits before generating a pull request...

Ah I am sorry about this. I will be more careful to check the upstream.


reuse content for multi language site using a all language

Today, to write content in a specific language you can do that without any suffix such as [slug].md, and that would assume the language specified in defaultContentLanguage, that's by default en. Considering this case, the all language would be a breaking change. Another way is by specifying the language such as [slug].pt.md, that would create a content for the pt language.
What I am suggesting here is a suffix that would create content for all languages specified in the config file. I'd suggest the suffix all.
For example, if you have the languages en and pt defined in the languages setting, post.md would generate for en, post.en.md would also generate for en, post.pt.md would generate for pt and post.all.md would generate for both en and pt using only one content file.
This could work by precedence, so, if no specific language content is defined then use the generic one. Plus, some frontmatter merging because stuff like cascade would be expected to work the same for all languages. I have an example where I need to customize the template for a section so I need to cascade the type down to a content subfolder and that way I need to copypaste the cascade to all markdown languages or it falls back to the default template.

Today, to write content in a specific language you can do that without any suffix such as [slug].md, and that would assume the language specified in defaultContentLanguage, that's by default en.

For completeness, you can also assign languages via file mounts, so you can do:
[module]
  [[module.mounts]]
    source = 'content'
    target = 'content'
    lang = 'en'
  [[module.mounts]]
    source = 'content'
    target = 'content'
    lang = 'fr'

I do agree that it would be nice to somehow assign multiple languages (both tho mounts and single content files), but I'm not sure all is the best. For mounts we could certainly allow Glob patterns (e.g. {en,fr}), but I'm not sure how well that works in filenames.

This is perfect. Just copypasted here and if I create a post without specifying a language it creates in all of them.
I only changed that fr to pt.
This simplified a lot the system. Thank you!


Add/change profile picture

https://www.sketch.com/s/aa87e1e9-2fa2-46fb-b2c7-5414cdf07cb3/a/4oggo3d

Resolved in #74


Non-wildcard routes that share a prefix with a wildcard route should take priority over the wildcard route

Currently it is impossible to do the following with httprouter:
router := httprouter.New()
router.Handle("GET", "/*path", proxy)
router.Handle("GET", "/api", api)

This makes it impossible to do "enhanced" proxies and CMS'es that have completely dynamic URL's other than a control panel, just to name two practical examples.
To address this, I propose that URL's that share prefixes with wildcards would take priority over the wildcard. Effectively, they would have a higher weight. This is how I solved a similar problem in the Werkzeug WSGI library for Python.
In the above example, /api would take priority because it has a non-wildcard component in the same place as another route with a wildcard.
Combined with #72, this would also dramatically improve the ability to compose packages with httprouter.

No, let me cite you from the README:

Only explicit matches: With other routers, like http.ServeMux, a requested URL path could match multiple patterns. Therefore they have some awkward pattern priority rules, like longest match or first registered, first matched. By design of this router, a request can only match exactly one or no route. As a result, there are also no unintended matches, which makes it great for SEO and improves the user experience.

The special treatment of /api would have to be done within the registered handler (can be a middleware). It is not impossible to implement the described routing behavior, but it has to be done manually, e.g. by the framework.

I'm sorry but "makes it great for SEO and improves the user experience"?
First off, It has absolutely nothing to do with SEO, I don't know where you even got that idea.
Second, a user now has to apply middleware or use the builtin router to allow wildcards at the same level as normal routes, which entirely defeats the purpose of having a router in the first place.

I just came across this problem and found this issue, so am replying here.

The special treatment of /api would have to be done within the registered handler (can be a middleware).

Can you suggest a way that it might be possible to continue to use httprouter for
the static part of the route?
For example, if we wanted to serve something like this, with the
more specific paths taking precedence over the wildcard
path:
router := httprouter.New()
router.Handle("GET", "/a/b/c/*path", proxy)
router.Handle("GET", "/a/b/c/api", api)
router.Handle("GET", "/a/b/c/api/path1", apiPath1)
router.Handle("GET", "/a/b/c/api/path2", apiPath2)

Your suggestion, I think, would be to make a custom handler
for /a/b/c and manually route all of those other paths. Do you see
a way to use httprouter to route them instead of doing it manually
or using some other router package?

I'm currently working on httprouter v2, for which I plan an (optional) less strict routing mode.
Currently the given routing structure is simple not possible with httprouter.

:+1: Looking forward to this feature.

Looking at this and my code again, my needs might be a bit different. I need these two routes to play nicely with each other:

/:addr
/cmd/reload

I was surprised to see this panic:
panic: wildcard route ':addr' conflicts with existing children in path '/:addr'

because, from the docs:

Named parameters only match a single path segment

I would have expected /:addr to match any request with a single path segment, but /cmd/reload has two, so I'm not sure why it conflicts.
Still kind of new to this router... maybe this is a separate issue?

/:addr and /cmd are conflicting here.
But this will (probably) also work in v2.

+1

:+1: a must.


Add Milliseconds Parameter to New-TimeSpan

PR Summary
This PR adds a parameter to the New-TimeSpan cmdlet and updates the tests associated with the cmdlet to accomadate testing the new parameter.

PR Context
The ability to set millisecond precision in a timespan structure could be beneficial where consumers of a timespan structure have millisecond resolution.  This was requested under issue #16486.

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[x] Not Applicable
OR
[] Documentation needed

[] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

@NoMoreFood CodeFactor Ci is not mandatory. I am ok to keep consistency with over doc comments.

@NoMoreFood Please create new issue in Docs repository and add reference in OP.

@iSazonov Created: https://github.com/MicrosoftDocs/PowerShell-Docs/issues/9005

@NoMoreFood Thanks for your contribution!


MTC Enhancements 03/2020

[x] Update feed version dropdown (reverse sort, retrieval method filtering)
[x] Add field length validation checks (per requirements set forth in 511 Transit_Data Guidelines_V2.0)
[x] Add ability to transform GTFS feeds, including:

[x] Replace file (e.g., stop_attributes.txt) in new version with file from previous version)
[x] Replace file in new version with user-defined CSV data

Closing this issue, the transformations were handled by #579, field length validation in #648.


Clarify duplicate logger error

Objective
When a global tracing subscriber has already been set, LogPlugin panics with an error message explaining this. However, if a global logger has already been set, it simply panics on an unwrap.
#6426 mentiones the panic and has been fixed by unique plugins, but the panic can still occur if a logger has been set through different means or multiple apps are created, as in  #4934. The solution to that specific case isn't clear; this PR only fixes the missing error message.
Solution

~add error message to panic~
turn into warning

bors r+


Consider reverting tracker to navigator.sendBeacon()

In #1160, it was proposed to switch from navigator.sendBeacon() in the tracker to fetch() with keepalive: true. The goal was to avoid some ad blockers from preventing analytics data to go through. This change was implemented in #1163.
I was thinking about the visit duration accuracy issues (#570, #1047) and have found some limitations with the fetch approach, especially if, as suggested by @gnarlex here, we want to send an event when a visitor leaves:

I'm not completely familiar with the analytics script. But couldn't we add a visibilitychange handler in the analytics script and use Navigator.sendBeacon() there to send information to umami once the user leaves a page?

Unfortunately, fetch() even with keepalive: true does not send events reliably on visibilitychange events. I've done some testing with the following code and include my results below:
document.addEventListener('visibilitychange', () => {
  const event_name =
    document.visibilityState === 'visible' ? 'VISIT_START' : 'VISIT_END';
  window.umami.trackEvent(event_name);
});

Case
Chrome
Firefox
Safari
Mobile Safari

Refresh
❌
✅
❌
❌

Switch to ≠ (full-screen) app in same screen
✅
✅
✅
✅

Switch to ≠ tab in same window
✅
✅
✅
✅

Navigate away
❌
❌
❌
❌

Close tab
❌
❌
❌
❌

Close browser
❌
❌
❌
❌

Note that fetch() only sends the event reliably when the web application is still alive. (Browser versions: Chrome v104, Firefox v103, Safari v15.3, Mobile Safari v15.6)
Switching (back) to navigator.sendBeacon() improves the results substantially:
document.addEventListener('visibilitychange', () => {
  const event_name =
    document.visibilityState === 'visible' ? 'VISIT_START' : 'VISIT_END';
  const queued = navigator.sendBeacon(
          'http://xx.xx.xx.xx:3000/api/collect',
          JSON.stringify({ type: 'event', payload: { /* ... */ event_name } })
        );});

Case
Chrome
Firefox
Safari
Mobile Safari

Refresh
✅
✅
✅
✅

Switch to ≠ (full-screen) app in same screen
✅
✅
✅
✅

Switch to ≠ tab in same window
✅
✅
✅
✅

Navigate away
✅
✅
✅
✅

Close tab
✅
✅
✅
❌

Close browser
✅
❌
❌
❌

This is much better: we now have post-mortem events in many cases. Based on this, I propose reverting to navigator.sendBeacon(). In order to avoid the ad blocking problems, we could add fetch as fallback, as @rohandebsarkar suggested in #1160.
What do you think?

Hello, given your testing code,
trackEvent doesn't use the keepalive flag, so indeed, it doesn't give good results in these cases compared to navigator.sendBeacon()
Results would probably be on par if you test with fetch and keepalive
fetch('http://xx.xx.xx.xx:3000/api/collect', {
  method: 'POST',
  body: JSON.stringify({ type: 'event', payload: { /* ... */ event_name } }),
  headers: { 'Content-Type': 'application/json' },
  keepalive: true
})

Would be interesting to see the results 👍

Ah, from reading #1160 I was assuming that keepalive was being used. I will then add that case and post the results in this issue!

Here's a new summary, including fetch with/without keepalive and navigator.sendBeacon. With fetch() + keepalive, the situation is similar to navigator.sendBeacon(), but we still don't receive VISIT_END in Firefox for some important cases (navigate away, close tab). Currently the best solution seems to be navigator.sendBeacon()…

Case
Chrome
Firefox
Safari
Mobile Safari

1. fetch() (no keepalive)

Refresh
❌
✅
❌
❌

Switch to ≠ (full-screen) app in same screen
✅
✅
✅
✅

Switch to ≠ tab in same window
✅
✅
✅
✅

Navigate away
❌
❌
❌
❌

Close tab
❌
❌
❌
❌

Close browser
❌
❌
❌
❌

2. fetch() (keepalive: true)

Refresh
✅
✅
✅
✅

Switch to ≠ (full-screen) app in same screen
✅
✅
✅
✅

Switch to ≠ tab in same window
✅
✅
✅
✅

Navigate away
✅
❌
✅
✅

Close tab
✅
❌
✅
❌

Close browser
✅
❌
❌
❌

3. navigator.sendBeacon()

Refresh
✅
✅
✅
✅

Switch to ≠ (full-screen) app in same screen
✅
✅
✅
✅

Switch to ≠ tab in same window
✅
✅
✅
✅

Navigate away
✅
✅
✅
✅

Close tab
✅
✅
✅
❌

Close browser
✅
❌
❌
❌

Btw, for the new case (2.) I used exactly what @Maxime-J suggested:
fetch('http://xx.xx.xx.xx:3000/api/collect', {
  method: 'POST',
  body: JSON.stringify({ type: 'event', payload: { /* ... */ event_name } }),
  headers: { 'Content-Type': 'application/json' },
  keepalive: true
})

Ah, from reading #1160 I was assuming that keepalive was being used.

And it was for a little while, not in trackEvent() though, only for events attached to links.
It was refactored recently and links handled differently.
But I follow you, tracker needs a way to send events in a persistant way.
Your tests will certainly help them to chose a method for these requests.

But this will still not improve the visit duration accuracy. This will only solve the persistence issue faced by the trackEvent() function when the visibility changes.
For improving the accuracy of the visit duration, we would need a way to remember when the user actually leaves the site, this can be done by doing some database changes. I proposed this on https://github.com/umami-software/umami/issues/570#issuecomment-1179508565.

@rohandebsarkar Moving to sendBeacon is not sufficient, but it would be a step in that direction. Umami users could then store events on page leave and use data in their database to manually calculate their visit duration following their (arbitrary) definition.

@rohandebsarkar Regarding #1471: Are you also considering the navigator.sendBeacon() (with fetch fallback)?

The tracker has been updated to no longer use fetch keepalive (doesn't work in Firefox) or navigator.sendBeacon (blocked by all adblockers). Update will be in the next release.

Fixed in v1.38.0.


web site docs typo

[ ] I have searched the issues of this repository and believe that this is not a duplicate.
[ ] I have checked the FAQ of this repository and believe that this is not a duplicate.

I am reading the docs of the website.
In this page : https://dubbo.incubator.apache.org/zh-cn/docs/user/preface/requirements.html
There is a typo.
> “ 此时需要一个服务注册中心，动态的注册和发现服务，使服务的位置透明。”

it should be(“的” ——> "地"):
> “ 此时需要一个服务注册中心，动态地注册和发现服务，使服务的位置透明。”

Could you please send a pull request?
https://github.com/apache/incubator-dubbo-website

others fixed


docs(ComponentExample): allow to disable HTML preview

Extracted from #3029.

Released in<EMAIL_ADDRESS>


Fixed issue #246

Fixed the issue #246 by importing rule
Checklist

[X] I have followed the Contributor Guidelines.
[X] I have added the relevant documentation.
[X] My branch is up-to-date with the Upstream master branch.

Changes proposed in this pull request
Your development environment

OS: Linux
OS Version: Ubuntu
Python Version: 3.x

 Here is an overview of what got changed by this pull request:

Clones removed
==============
+ lib/vuln/CCS_injection/engine.py  -2

See the complete overview on Codacy


VIrtualBox wrong configuration value

Describe the bug
VirtualBox throws an error about some configuration value
To Reproduce
Follow the tutorial with VirtualBox 6.1.30
Expected behavior
A working VM.
Environment
WIN10 both. latest
Additional context
Failed to open a session for the virtual machine shitebox1.Failed to open system BIOS file 'C:\VBoxLdr\data\pcbios386.bin' (VERR_PATH_NOT_FOUND).

Result Code:
E_FAIL (0x80004005)

Component:
ConsoleWrap

Interface:
IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

This project is not maintained since 08.2020. Last VBox version it was checked against was 6.1.2.

Do you have this file on disk C:\VBoxLdr\data\pcbios386.bin?

I do, but the most recent trial with VBox 6.1.6, output changed to:
Failed to open a session for the virtual machine shitebox.VMMR0_DO_NEM_INIT_VM failed: VERR_NEM_MISSING_KERNEL_API_2 (VERR_NEM_MISSING_KERNEL_API_2).AMD-V is not available (VERR_SVM_NO_SVM).

Result Code:
E_FAIL (0x80004005)

Component:
ConsoleWrap

Interface:
IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

I also happen to fail at loader.exe
[>] Entering MapTsugumi
[>] Entering ProviderCreate
[>] Entering StartVulnerableDriver
[!] OpenService failed (Error 1060)
[<] Leaving StartVulnerableDriver
[<] Leaving ProviderCreate
[!] ProviderCreate failed, abort
LDR: Cannot inject monitor code
[<] Leaving VBoxLdrMain

Do I have to change some settings at BIOS? What can I do about loader.exe not working? Thanks

[!] OpenService failed (Error 1060)

It seems that you have "Nal" driver (Intel driver that is used by this loader to load own driver) loaded, but it doesn't have corresponding service control manager entry in registry. You can try reboot machine and start loader again. If problem persist look if you have any Intel "iqvm64" (name may vary) driver loaded.
As of VERR_NEM_MISSING_KERNEL_API_2 it is something I didn't encountered before. Do you have AMD CPU?
They have this ticket https://www.virtualbox.org/ticket/19779 and https://forums.virtualbox.org/viewtopic.php?f=6&t=96555 so this could be a bug that Oracle fixed in more recent VBox 6.1.x versions.


Convert project to use Babel for ES6 support

It's easy enough to add babel to webpack build, but requires updating release process so that only built files are published to npm.

I would be interested in working on this. Let me know if you would like my help.

hmm the downside of such projects is always that I cannot really debug the code of foreign libraries having such a syntax when testing with mocha as there's just auto-generated code.q

You can also drop most of utils.js then. CoreJS/Babel will add polyfills for them.

@mzabriskie @nickuraltsev  - Is someone working on this? I would be happy to take this!

Is there a plan to rewrite some code to ES6(class Axios (), e.g.)?

Just stumbled across this, @mzabriskie were you hoping to also publish the loose es6 as well via the "modules" field in package.json? webpack users can benefit from this as it can "natively" read and understand the esm harmony import statements.

It would be great to make this happen as it could help with tree shaking in webpack (if I'm understanding the mechanics of it properly). I'd be happy to help in any way possible.

The babel team wrote a blog post on their recommended approach https://babeljs.io/blog/2018/06/26/on-consuming-and-publishing-es2015+-packages

I'd be happy to help with the rewriting in es6 or even typescript


.hypothesis subfolder created as soon as I open a folder in vscode

As soon as I open a folder in VSCode with Pylance enabled, a new subfolder called .hypothesis with a charmap file is created. This happens even if I'm opening a project that doesn't involve Python. I've been adding this folder to .gitignore, but it's getting super annoying. I don't know if this is the intended behavior, but it really shouldn't.
 Environment data

Language Server version: 2023.3.30
OS and version: win32 x64
Python version (and distribution if applicable, e.g. Anaconda):
python.analysis.indexing: true
python.analysis.typeCheckingMode: basic

 Logs
(7316) Background analysis message: analyze
(7316) [BG(1)] parsing: c:\project\main.py [fs read 3ms] (148ms)
(7316) [BG(1)] parsing: c:\Users\ff\.vscode\extensions\ms-python.vscode-pylance-2023.3.30\dist\typeshed-fallback\stdlib\builtins.pyi [fs read 2ms] (184ms)
(7316) [BG(1)] binding: c:\Users\ff\.vscode\extensions\ms-python.vscode-pylance-2023.3.30\dist\typeshed-fallback\stdlib\builtins.pyi (59ms)
(7316) [BG(1)] binding: c:\project\main.py (1ms)
(7316) [BG(1)] indexing: c:\project\main.py [found 1] (0ms)
(7316) Indexing Done: c:\project\main.py
[Info  - 8:28:28 PM] (7316) SourceFile: Received fs event 'add' for path 'c:\project\.hypothesis'
[Info  - 8:28:28 PM] (7316) SourceFile: Received fs event 'add' for path 'c:\project\.hypothesis\unicode_data'
[Info  - 8:28:28 PM] (7316) SourceFile: Received fs event 'add' for path 'c:\project\.hypothesis\unicode_data\13.0.0'
[Info  - 8:28:28 PM] (7316) SourceFile: Received fs event 'add' for path 'c:\project\.hypothesis\unicode_data\13.0.0\charmap.json.gz'

We don't write to your workspace, so my guess is that this is the python extension causing this when running pytest in the background:
https://github.com/HypothesisWorks/hypothesis/issues/2106


Restore off-the-top behavior for VT mouse mode

PR #10642 and #11290 introduced an adjustment for the cursor position used to generate VT mouse mode events.
One of the decisions made in those PRs was to only send coordinates where Y was >= 0, so if you were off the top of the screen you wouldn't get any events. However, terminal emulators are expected to send clamped events when the mouse is off the screen. This decision broke clamping Y to 0 when the mouse was above the screen.
The other decision was to only adjust the Y coordinate if the core's ScrollOffset was greater than 0. It turns out that ScrollOffset is 0 when you are scrolled all the way back in teh buffer. With this check, we would clamp coordinates properly until the top line of the scrollback was visible, at which point we would send those coordinates over directly. This resulted in the same weird behavior as observed in #10190.
I've fixed both of those things. Core is expected to receive negative coordinates and clamp them to the viewport. ScrollOffset should never be below 0, as it refers to the top visible buffer line.
In addition to that, #17744 uncovered that we were allowing autoscrolling to happen even when VT mouse events were being generated. I added a way for ControlInteractivity to halt further event processing. It's crude.
Refs #10190
Closes #17744

Honestly the 100% correct behavior is to accept drag and move events off the top of the buffer but not click or button events.

Specifically, drags that start in the viewport and move outside it.

Honestly the 100% correct behavior is to accept drag and move events off the top of the buffer but not click or button events.

The main reason to caught mouse events above the top is for example to get button released event to take some action. I hope the mouse button events are available. Thanks.


Implement copy to/from shared storage in Beam for manifest blobs.

This change is

@stevenwarejones I've taken over this PR and (I believe) addressed your comments. Is there anything else in the PR you're concerned about?


Can you provide the builded version?

hello,
my visual studio always fail to build that project for X²² reasons.
so i was wondering if you could release the .exe directly ?

my mistake. didn't sdee the release tab xP


feat: add structured logging

Description
The current system of using console for logging is only useful for local debugging.  In the future we may want to be able to do log aggregation or anonymously report error messages so we can fix bugs.
This PR adds structured logging to give us flexibility on how to process logs. We can format them for easier display in the dev console as well as leave it open to do log aggregation and reporting in the future, if desired.
This also adds the ability to adjust the level of logging either in the dev console directly or via environment variable.
Changes

Add @shapeshiftoss/logger package
Add lib/logger.ts with a global parent logger
Add more robust logging to PluginProvider to show how it can be useful.
Replace console.error, console.warn, and console.info with the structured logger to get consistent visual output

Notice

[X] Have you followed the guidelines in our Contributing guide?
[X] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[X] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
N/A - just a general improvement that has been discussed but not documented
Risk
The only thing I can think of is that we may accidentally log information into the console we shouldn't because the current logger function doesn't have any filtering (for things like passwords).
Testing

Run the app
Look at the pretty console

Screenshots (if applicable)
Trace Logging

Info Logging

Tested it out locally and logs look way better now.
Agreed with @0xApotheosis dark mode colors could be improved for the late coding birds. Regarding the loss of granularity, I suppose this can and will be improved after this base functionality PR is merged @cjthompson
One thing that's concerning and might be a regression from develop here is that routing/ability to connect native wallet both seem to have broken here. On a browser with an already connected native wallet, I'm in a blank/skeleton state and also getting this error:

I'm not sure whether or not that's to do with modifications to the <PluginProvider />.

Tested it out locally and logs look way better now. Agreed with @0xApotheosis dark mode colors could be improved for the late coding birds. Regarding the loss of granularity, I suppose this can and will be improved after this base functionality PR is merged @cjthompson
One thing that's concerning and might be a regression from develop here is that routing/ability to connect native wallet both seem to have broken here. On a browser with an already connected native wallet, I'm in a blank/skeleton state and also getting this error:
I'm not sure whether or not that's to do with modifications to the <PluginProvider />.

looks like we need to support logging arrays in the base library, can we get that added?

They aren't logged on purpose because how do you put them into the JSON? Every argument to the logger gets formatted into an object, so it would need a name. So we'd have to make up a name.
I think the solution here is to just not override the global console methods with this logger and just replace the console log functions with the new logger where someone can just call
logger.debug({ arrayOfThings }, 'Logging an array')

I've made some changes:

Removed code that replaced global console methods
Improved styles (from @reallybeard )
Updated logging in useKeepKeyEventHandler because it's a good example of logging we'd want to filter


FoundationMacros: use cross-compilation to build for host (#714)

Use ExternalProject to switch FoundationMacros to cross-compilation. This allows us to build the macros for the right OS/architecture when cross-compiling Foundation for other environments.

Explanation: Build changes necessary to support building macros for Windows.
Scope: Enables building and distributing the Foundation macros on all platforms.
Issue:
Original PR: #714
Risk: We would need additional changes to build and distribute the macros.
Testing: The original changes were tested as part of building the toolchain and the installer for Windows as well as the built image for Linux.
Reviewer: @jmschonfeld

@swift-ci please test

Backporting this sounds like a good idea to me, let's just make sure that's ok with @etcwilde since his Musl PR also tries to address this, and let's also make sure we back port the swift repo changes (for build-script and build.ps1) and the installer script changes to install the macro on Windows


[OAP-1673][oap-native-sql] use double round function

depends on: https://github.com/Intel-bigdata/arrow/pull/91
fixes: https://github.com/Intel-bigdata/OAP/issues/1673

on sf1000, query: select round(31.05, 1), round(-1234.56789, 4), round(ss_ext_list_price, 1), round(ss_ext_tax, 1) from store_sales
decimal round: 3872ms, wrong result
double round: 3618ms, correct result

note: this patch is used in TPC-DS queries, it will not impact TPC-H queries.