public inbox for gwml@vger.gnuweeb.org
 help / color / mirror / Atom feed
From: Ammar Faizi <ammarfaizi2@gnuweeb.org>
To: Ahmad Gani <reyuki@gnuweeb.org>
Cc: Alviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>,
	GNU/Weeb Mailing List <gwml@vger.gnuweeb.org>
Subject: Re: [PATCH gwproxy v5 2/2] dnsparser: Add dns parser code
Date: Sat, 23 Aug 2025 08:52:31 +0700	[thread overview]
Message-ID: <20250823015231.GA3508499-ammarfaizi2@gnuweeb.org> (raw)
In-Reply-To: <CAADvAgo0jW44FtZ5D-epwuHzUmW7qTXmR=OgNWZhx7Y7+KVMBA@mail.gmail.com>

On Sat, Aug 23, 2025 at 08:07:08AM +0700, Ahmad Gani wrote:
> I think it should be fine to have old DNS code removed if the raw DNS
> resolver feature is only applied when it's completed and tested.

I will ask for your feature to be experimental because your DNS feature
is not super simple. It may have undiscovered hidden bugs even if we
have extensively tested it. The same thing with the io_uring support.

And note that, getaddrinfo() is not as simple as resolving DNS queries
via UDP port 53. It does more than that. For example, it reads
/etc/hosts, /etc/resolv.conf, /etc/gai.conf and many more files.

If we missed very important details and the old resolver is already
removed, it will be a pain in the ass to 'git revert' all your work.

So please, keep the old feature intact for the time being. Develop a
new DNS resolver without bothering the old DNS feature. It's not that
simple to replace this monster.

And the good thing is that, making it an experimental feature allows
specific environments to use the feature in a stable release, but
keeping the old stable feature usable for those who are not willing to
get involved in testing and reporting bugs.

JFYI, I have started using the epoll version in a real production. And
that one still uses the epoll version because I am more confident with
my epoll version than io_uring version.

Next time, when I am confident enough with your DNS feature, I will
consider making your DNS resolver the primary one and probably kill the
old DNS resolver.

We also have a lot of features like that in the Linux kernel, for
example:

  - CONFIG_BTRFS_EXPERIMENTAL
  - CONFIG_IEEE802154_NL802154_EXPERIMENTAL
  - CONFIG_LTO (yes, LTO in the kernel is marked as experimental)
  - CONFIG_AUTOFDO_CLANG
  - any many more...

Those are unstable features, but can be configured to run on stable
kernel. I want to follow that tradition when it comes to stability of a
new feature.

> You can still keep the old DNS feature in the master branch that is meant
> to be stable (?)

I don't consider the master branch to be stable. But a tag is.
Currently we HAVE NO TAGS in gwproxy. Soon, I'll make a release.

-- 
Ammar Faizi

  reply	other threads:[~2025-08-23  1:52 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-14  4:46 [PATCH gwproxy v5 0/2] Initial work on integration of DNS parser lib in gwproxy Ahmad Gani
2025-08-14  4:46 ` [PATCH gwproxy v5 1/2] dns: Allow only port string number Ahmad Gani
2025-08-14  7:15   ` Alviro Iskandar Setiawan
2025-08-14  4:46 ` [PATCH gwproxy v5 2/2] dnsparser: Add dns parser code Ahmad Gani
2025-08-14  7:28   ` Alviro Iskandar Setiawan
2025-08-14  7:43     ` Alviro Iskandar Setiawan
2025-08-16 16:03   ` Ammar Faizi
2025-08-16 16:30     ` Ahmad Gani
2025-08-16 16:40       ` Ammar Faizi
2025-08-21 16:50       ` Alviro Iskandar Setiawan
2025-08-22  5:43         ` Ahmad Gani
2025-08-22 13:48           ` Alviro Iskandar Setiawan
2025-08-22 19:09             ` Alviro Iskandar Setiawan
2025-08-22 19:52               ` Ammar Faizi
2025-08-23  1:07                 ` Ahmad Gani
2025-08-23  1:52                   ` Ammar Faizi [this message]
2025-08-23  2:17                     ` Ahmad Gani
2025-08-23  2:22                       ` Ammar Faizi
2025-08-23  2:20                   ` Alviro Iskandar Setiawan
2025-08-23  2:28                     ` Ammar Faizi
2025-08-24 13:36                       ` Ahmad Gani
2025-08-25 14:37                         ` Ammar Faizi
2025-08-28  0:13                         ` Ammar Faizi
2025-08-28  1:51                           ` Ahmad Gani
2025-08-28  2:29                             ` Ahmad Gani
2025-08-28  2:45                               ` Ahmad Gani
2025-08-28  2:52                                 ` Ahmad Gani
2025-08-28  4:19                                 ` Ammar Faizi
2025-08-28  4:00                             ` Ammar Faizi
2025-08-16 16:41 ` (subset) [PATCH gwproxy v5 0/2] Initial work on integration of DNS parser lib in gwproxy Ammar Faizi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250823015231.GA3508499-ammarfaizi2@gnuweeb.org \
    --to=ammarfaizi2@gnuweeb.org \
    --cc=alviro.iskandar@gnuweeb.org \
    --cc=gwml@vger.gnuweeb.org \
    --cc=reyuki@gnuweeb.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox