]> granicus.if.org Git - pgbouncer/commitdiff
Describe EDNS0, use getaddrinfo_a() on debian
authorMarko Kreen <markokr@gmail.com>
Thu, 1 Sep 2011 09:13:32 +0000 (12:13 +0300)
committerMarko Kreen <markokr@gmail.com>
Thu, 1 Sep 2011 09:20:19 +0000 (12:20 +0300)
NEWS
README
debian/packages

diff --git a/NEWS b/NEWS
index 5367b3d22eb354b726de488181ff1fa080a13ada..3058fb3a17c618528f436b78c7a9b9b4302497d4 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,16 @@
+2011-xx-xx  -  PgBouncer 1.x.x  -  ""
+
+  = Fixes =
+
+    * Detect DNS reply changes and invalidate connections
+      to IPs no longer present in latest reply.
+      (Petr Jelinek)
+
+      If you have more than 8 IPs behind one DNS name, you need to
+      use EDNS0 protocol to query.  Only getaddrinfo_a()/getaddrinfo()
+      supports it, libevent does not.  To enable add 'options edns0'
+      to /etc/resolv.conf.
+
 2011-06-16  -  PgBouncer 1.4.2  -  "Strike-First Algorithm"
 
   Affected OS-es: *BSD, Solaris, Win32.
diff --git a/README b/README
index 7e803132071ef12480ea6e7bd11dd379550fa73d..f49913c76cc82bfe80f67fc3173c0d72b265f275 100644 (file)
--- a/README
+++ b/README
@@ -34,13 +34,15 @@ time instead just once at config load time.  This requires proper
 async DNS implementation.  Following list shows supported backends
 and their probing order:
 
-1. libevent 2.x evdns               - OK
-2. glibc 2.9+ getaddrinfo_a()       - OK
-3. libusual compat getaddrinfo_a()  - OK,
-   for non-glibc systems, uses single thread for all lookups,
-   requires pthreads, so does not work on win32
-4. libevent 1.x evdns               - buggy,
-   does not use /etc/hosts, never used by default
+backend                    | parallel | EDNS0    | /etc/hosts | note
+---------------------------+----------+----------+------------+------------------------
+udns                       | yes      | yes      | no         | unimplemented
+evdns, libevent 2.x        | yes      | no       | yes        |
+getaddrinfo_a, glibc 2.9+  | yes      | yes (1)  | yes        | N/A on non-linux
+getaddrinfo, libc          | no       | yes (1)  | yes        | N/A on win32, requires pthreads
+evdns, libevent 1.x        | yes      | no       | no         | buggy
+
+(1) To enable EDNS0, add 'options edns0' to /etc/resolv.conf
 
 `./configure` also has flags `--enable-evdns` and `--disable-evdns` which
 turn off automatic probing and force use of either `evdns` or `getaddrinfo_a()`.
index 88a5025dc554ad85763d192c56786d933917b133..80b0e256f293b8525d2121ee8d9798c4da7cfe8e 100644 (file)
@@ -20,12 +20,12 @@ Description: Lightweight connection pooler for PostgreSQL
  .
 Install: sh
  # just in case, build with debugging options
- CFLAGS="-O -g" ./configure --prefix=/usr --enable-debug --enable-cassert
+ CFLAGS="-O -g" ./configure --prefix=/usr --enable-debug --enable-cassert --disable-evdns
  make V=1
  make install DESTDIR=$ROOT
  mv $ROOT/usr/bin/pgbouncer $ROOT/usr/bin/pgbouncer-dbg
  make clean
  # now without cassert
- ./configure --prefix=/usr --enable-debug
+ ./configure --prefix=/usr --enable-debug --disable-evdns
  make V=1
  make install DESTDIR=$ROOT