Skip to content

Commit 467f469

Browse files
committed
Merge branch 'master' of github.com:ClickHouse/ClickHouse into divanik/add_some_more_convenient_metadata_resolving_settings
2 parents 8d109df + 9180f5b commit 467f469

File tree

119 files changed

+1218
-807
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+1218
-807
lines changed

.github/workflows/master.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -928,8 +928,8 @@ jobs:
928928
fi
929929
930930
unit_tests_asan:
931-
runs-on: [self-hosted, builder-aarch64]
932-
needs: [config_workflow, build_arm_asan]
931+
runs-on: [self-hosted, builder]
932+
needs: [config_workflow, build_amd_asan]
933933
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'VW5pdCB0ZXN0cyAoYXNhbik=') }}
934934
name: "Unit tests (asan)"
935935
outputs:

.github/workflows/pull_request.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1120,8 +1120,8 @@ jobs:
11201120
fi
11211121
11221122
unit_tests_asan:
1123-
runs-on: [self-hosted, builder-aarch64]
1124-
needs: [config_workflow, dockers_build_amd_and_merge, build_arm_asan]
1123+
runs-on: [self-hosted, builder]
1124+
needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
11251125
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'VW5pdCB0ZXN0cyAoYXNhbik=') }}
11261126
name: "Unit tests (asan)"
11271127
outputs:

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ Upcoming meetups
5454
* [Kuala Lumper Meetup with CNCF](https://www.meetup.com/clickhouse-malaysia-meetup-group/events/306697678/) - April 16, 2025
5555
* [Jakarta Meetup with AWS](https://www.meetup.com/clickhouse-indonesia-user-group/events/306973747/) - April 22, 2025
5656
* [London Meetup](https://www.meetup.com/clickhouse-london-user-group/events/306047172/) - May 14, 2025
57+
* [Istanbul Meetup](https://www.meetup.com/clickhouse-turkiye-meetup-group/events/306978337/) - May 15, 2025
5758

5859
Recent meetups
5960
* [Washington DC Meetup](https://www.meetup.com/clickhouse-dc-user-group/events/306439995) - March 27, 2025

base/base/defines.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,6 @@
2828
#define NO_INLINE __attribute__((__noinline__))
2929
#define MAY_ALIAS __attribute__((__may_alias__))
3030

31-
#if defined(__x86_64__) || defined(__aarch64__)
32-
# define PRESERVE_MOST __attribute__((preserve_most))
33-
#else
34-
# define PRESERVE_MOST
35-
#endif
36-
3731
#if !defined(__x86_64__) && !defined(__aarch64__) && !defined(__PPC__) && !defined(__s390x__) && !(defined(__loongarch64)) && !(defined(__riscv) && (__riscv_xlen == 64))
3832
# error "The only supported platforms are x86_64 and AArch64, PowerPC (work in progress), s390x (work in progress), loongarch64 (experimental) and RISC-V 64 (experimental)"
3933
#endif

base/poco/Net/include/Poco/Net/StreamSocket.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ namespace Net
7272
/// attaches the SocketImpl from the other socket and
7373
/// increments the reference count of the SocketImpl.
7474

75+
void bind(const SocketAddress& address, bool reuseAddress);
76+
/// Binds the socket to the given address
77+
7578
void connect(const SocketAddress & address);
7679
/// Initializes the socket and establishes a connection to
7780
/// the TCP server at the given address.

base/poco/Net/src/StreamSocket.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ StreamSocket& StreamSocket::operator = (const Socket& socket)
7272
return *this;
7373
}
7474

75+
void StreamSocket::bind(const SocketAddress& address, bool reuseAddress)
76+
{
77+
static_cast<StreamSocketImpl*>(impl())->bind(address, reuseAddress);
78+
}
79+
7580

7681
void StreamSocket::connect(const SocketAddress& address)
7782
{

base/poco/NetSSL_OpenSSL/include/Poco/Net/SecureStreamSocket.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,9 @@ namespace Net
157157
void setPeerHostName(const std::string & hostName);
158158
/// Sets the peer's host name used for certificate validation.
159159

160+
void bind(const SocketAddress& address, bool reuseAddress);
161+
/// Binds the socket to the given address
162+
160163
const std::string & getPeerHostName() const;
161164
/// Returns the peer's host name used for certificate validation.
162165

base/poco/NetSSL_OpenSSL/include/Poco/Net/SecureStreamSocketImpl.h

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,30 @@ namespace Net
6666
/// the TCP server at the given address. Prior to opening the
6767
/// connection the socket is set to nonblocking mode.
6868

69-
void bind(const SocketAddress & address, bool reuseAddress = false, bool reusePort = false);
70-
/// Not supported by a SecureStreamSocket.
69+
void bind(const SocketAddress& address, bool reuseAddress);
70+
/// Bind a local address to the socket.
7171
///
7272
/// Throws a Poco::InvalidAccessException.
73+
/// This is usually only done when establishing a server
74+
/// socket.
75+
///
76+
/// TCP clients normally do not bind to a local address,
77+
/// but in some special advanced cases it may be useful to have
78+
/// this type of functionality. (e.g. in multihoming situations
79+
/// where the traffic will be sent through a particular interface;
80+
/// or in computer clustered environments with active/standby
81+
/// servers and it is desired to make the traffic from either
82+
/// active host present the same source IP address).
83+
///
84+
/// Note: Practical use of client source IP address binding
85+
/// may require OS networking setup outside the scope of
86+
/// the Poco library.
87+
///
88+
/// If reuseAddress is true, sets the SO_REUSEADDR
89+
/// socket option.
90+
///
91+
/// TODO: implement IPv6 version
92+
///
7393

7494
void listen(int backlog = 64);
7595
/// Not supported by a SecureStreamSocket.

base/poco/NetSSL_OpenSSL/src/SecureStreamSocket.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,12 @@ void SecureStreamSocket::setPeerHostName(const std::string& hostName)
140140
static_cast<SecureStreamSocketImpl*>(impl())->setPeerHostName(hostName);
141141
}
142142

143-
143+
void SecureStreamSocket::bind(const SocketAddress& address, bool reuseAddress)
144+
{
145+
static_cast<SecureStreamSocketImpl*>(impl())->bind(address, reuseAddress);
146+
}
147+
148+
144149
const std::string& SecureStreamSocket::getPeerHostName() const
145150
{
146151
return static_cast<SecureStreamSocketImpl*>(impl())->getPeerHostName();

base/poco/NetSSL_OpenSSL/src/SecureStreamSocketImpl.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,11 @@ void SecureStreamSocketImpl::connectSSL()
102102
}
103103

104104

105-
void SecureStreamSocketImpl::bind(const SocketAddress& address, bool reuseAddress, bool reusePort)
105+
void SecureStreamSocketImpl::bind(const SocketAddress& address, bool reuseAddress)
106106
{
107-
throw Poco::InvalidAccessException("Cannot bind() a SecureStreamSocketImpl");
107+
_impl.bind(address, reuseAddress);
108+
reset(_impl.sockfd());
108109
}
109-
110110

111111
void SecureStreamSocketImpl::listen(int backlog)
112112
{

0 commit comments

Comments
 (0)