aboutsummaryrefslogtreecommitdiff
path: root/databases/galera
diff options
context:
space:
mode:
authorVasil Dimov <vd@FreeBSD.org>2017-10-25 13:44:59 +0000
committerVasil Dimov <vd@FreeBSD.org>2017-10-25 13:44:59 +0000
commit3b315e8a8d0d4ad53c53b854fa4c074e3333a8fd (patch)
treeab05d2a7c9e53f4a8c5ec74402814bf97f6f6947 /databases/galera
parent762aa7c94325893bdad1f53de2d546db77277126 (diff)
downloadports-3b315e8a8d0d4ad53c53b854fa4c074e3333a8fd.tar.gz
ports-3b315e8a8d0d4ad53c53b854fa4c074e3333a8fd.zip
Notes
Diffstat (limited to 'databases/galera')
-rw-r--r--databases/galera/Makefile3
-rw-r--r--databases/galera/distinfo6
-rw-r--r--databases/galera/files/patch-gcomm__src__asio_tcp.cpp115
3 files changed, 4 insertions, 120 deletions
diff --git a/databases/galera/Makefile b/databases/galera/Makefile
index 27339010c30d..dd07c1992140 100644
--- a/databases/galera/Makefile
+++ b/databases/galera/Makefile
@@ -2,9 +2,8 @@
# $FreeBSD$
PORTNAME= galera
-PORTVERSION?= 25.3.21
+PORTVERSION?= 25.3.22
DISTVERSIONPREFIX?= release_
-PORTREVISION= 2
CATEGORIES= databases
MAINTAINER= devel@galeracluster.com
diff --git a/databases/galera/distinfo b/databases/galera/distinfo
index a437ee683482..b70acc4b3766 100644
--- a/databases/galera/distinfo
+++ b/databases/galera/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1501158019
-SHA256 (codership-galera-release_25.3.21_GH0.tar.gz) = dc0d8e9bcbd16de98c3ee558f7e7e2cf4596670a2e2e38a03d3e45bf5c9ebd5e
-SIZE (codership-galera-release_25.3.21_GH0.tar.gz) = 3276033
+TIMESTAMP = 1508930849
+SHA256 (codership-galera-release_25.3.22_GH0.tar.gz) = cf9d13af44411c8e09222554eb7b6dd82896ad4fe8c2cb54066862abbefef8fb
+SIZE (codership-galera-release_25.3.22_GH0.tar.gz) = 3278520
diff --git a/databases/galera/files/patch-gcomm__src__asio_tcp.cpp b/databases/galera/files/patch-gcomm__src__asio_tcp.cpp
deleted file mode 100644
index 2f641dd9972f..000000000000
--- a/databases/galera/files/patch-gcomm__src__asio_tcp.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
---- gcomm/src/asio_tcp.cpp.orig 2017-01-25 07:55:06 UTC
-+++ gcomm/src/asio_tcp.cpp
-@@ -231,10 +231,18 @@ void gcomm::AsioTcpSocket::close()
- }
- }
-
-+// Enable to introduce random errors for write handler
-+// #define GCOMM_ASIO_TCP_SIMULATE_WRITE_HANDLER_ERROR
-
- void gcomm::AsioTcpSocket::write_handler(const asio::error_code& ec,
- size_t bytes_transferred)
- {
-+#ifdef GCOMM_ASIO_TCP_SIMULATE_WRITE_HANDLER_ERROR
-+ static const long empty_rate(10000);
-+ static const long bytes_transferred_less_than_rate(10000);
-+ static const long bytes_transferred_not_zero_rate(10000);
-+#endif // GCOMM_ASIO_TCP_SIMULATE_WRITE_HANDLER_ERROR
-+
- Critical<AsioProtonet> crit(net_);
-
- if (state() != S_CONNECTED && state() != S_CLOSING)
-@@ -252,34 +260,70 @@ void gcomm::AsioTcpSocket::write_handler
-
- if (!ec)
- {
-- gcomm_assert(send_q_.empty() == false);
-- gcomm_assert(send_q_.front().len() >= bytes_transferred);
--
-- while (send_q_.empty() == false &&
-- bytes_transferred >= send_q_.front().len())
-+ if (send_q_.empty() == true
-+#ifdef GCOMM_ASIO_TCP_SIMULATE_WRITE_HANDLER_ERROR
-+ || ::rand() % empty_rate == 0
-+#endif // GCOMM_ASIO_TCP_SIMULATE_WRITE_HANDLER_ERROR
-+ )
- {
-- const Datagram& dg(send_q_.front());
-- bytes_transferred -= dg.len();
-- send_q_.pop_front();
-+ log_warn << "write_handler() called with empty send_q_. "
-+ << "Transport may not be reliable, closing the socket";
-+ FAILED_HANDLER(asio::error_code(EPROTO,
-+ asio::error::system_category));
- }
-- gcomm_assert(bytes_transferred == 0);
--
-- if (send_q_.empty() == false)
-+ else if (send_q_.front().len() < bytes_transferred
-+#ifdef GCOMM_ASIO_TCP_SIMULATE_WRITE_HANDLER_ERROR
-+ || ::rand() % bytes_transferred_less_than_rate == 0
-+#endif // GCOMM_ASIO_TCP_SIMULATE_WRITE_HANDLER_ERROR
-+ )
- {
-- const Datagram& dg(send_q_.front());
-- boost::array<asio::const_buffer, 2> cbs;
-- cbs[0] = asio::const_buffer(dg.header()
-- + dg.header_offset(),
-- dg.header_len());
-- cbs[1] = asio::const_buffer(&dg.payload()[0],
-- dg.payload().size());
-- write_one(cbs);
-+ log_warn << "write_handler() bytes_transferred "
-+ << bytes_transferred
-+ << " less than sent "
-+ << send_q_.front().len()
-+ << ". Transport may not be reliable, closing the socket";
-+ FAILED_HANDLER(asio::error_code(EPROTO,
-+ asio::error::system_category));
- }
-- else if (state_ == S_CLOSING)
-+ else
- {
-- log_debug << "deferred close of " << id();
-- close_socket();
-- state_ = S_CLOSED;
-+ while (send_q_.empty() == false &&
-+ bytes_transferred >= send_q_.front().len())
-+ {
-+ const Datagram& dg(send_q_.front());
-+ bytes_transferred -= dg.len();
-+ send_q_.pop_front();
-+ }
-+ if (bytes_transferred != 0
-+#ifdef GCOMM_ASIO_TCP_SIMULATE_WRITE_HANDLER_ERROR
-+ || ::rand() % bytes_transferred_not_zero_rate == 0
-+#endif // GCOMM_ASIO_TCP_SIMULATE_WRITE_HANDLER_ERROR
-+ )
-+ {
-+ log_warn << "write_handler() bytes_transferred "
-+ << bytes_transferred
-+ << " after processing the send_q_. "
-+ << "Transport may not be reliable, closing the socket";
-+ FAILED_HANDLER(asio::error_code(EPROTO,
-+ asio::error::system_category));
-+ }
-+ else if (send_q_.empty() == false)
-+ {
-+ const Datagram& dg(send_q_.front());
-+ boost::array<asio::const_buffer, 2> cbs;
-+ cbs[0] = asio::const_buffer(dg.header()
-+ + dg.header_offset(),
-+ dg.header_len());
-+ cbs[1] = asio::const_buffer(&dg.payload()[0],
-+ dg.payload().size());
-+ write_one(cbs);
-+ }
-+ else if (state_ == S_CLOSING)
-+ {
-+ log_debug << "deferred close of " << id();
-+ close_socket();
-+ state_ = S_CLOSED;
-+ }
- }
- }
- else if (state_ == S_CLOSING)