You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2013/09/05 01:02:11 UTC

git commit: TS-2168 Make RecordsConfig.cc more inline with default builds.

Updated Branches:
  refs/heads/master ebe3502c1 -> 1b75d0f0f


TS-2168 Make RecordsConfig.cc more inline with default builds.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/1b75d0f0
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/1b75d0f0
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/1b75d0f0

Branch: refs/heads/master
Commit: 1b75d0f0f27276cb2b123cce8e371454f7673e2a
Parents: ebe3502
Author: Leif Hedstrom <zw...@apache.org>
Authored: Wed Sep 4 17:02:03 2013 -0600
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Wed Sep 4 17:02:07 2013 -0600

----------------------------------------------------------------------
 CHANGES               | 2 ++
 mgmt/RecordsConfig.cc | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/1b75d0f0/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 10259f3..a8b1318 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 4.1.0
 
+  *) [TS-2168] Make RecordsConfig.cc more inline with default builds.
+
   *) [TS-2174] traffic_shell/traffic_line miss some stats value
 
   *) [TS-2173] RECD_COUNTER type is missing in setTokenValue().

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/1b75d0f0/mgmt/RecordsConfig.cc
----------------------------------------------------------------------
diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
index 3f7661d..81f0b2d 100644
--- a/mgmt/RecordsConfig.cc
+++ b/mgmt/RecordsConfig.cc
@@ -1947,7 +1947,7 @@ RecordElement RecordsConfig[] = {
   ,
   {RECT_CONFIG, "proxy.config.allocator.max_overage", RECD_INT, "3", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
-  {RECT_CONFIG, "proxy.config.allocator.enable_reclaim", RECD_INT, "1", RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
+  {RECT_CONFIG, "proxy.config.allocator.enable_reclaim", RECD_INT, "0", RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.allocator.reclaim_factor", RECD_FLOAT, "0.3", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,


Re: git commit: TS-2168 Make RecordsConfig.cc more inline with default builds.

Posted by Leif Hedstrom <zw...@apache.org>.
On Sep 5, 2013, at 8:55 PM, Leif Hedstrom <zw...@apache.org> wrote:

> Now, how do we make reclaimable freelist enabled by default? I think we need to do proper code reviews, and tests on performance by more than one organization. So far, no one (that I know of?) has voiced any interest in this feature, but I urge people who do to speak up so we can make this a priority.

Sorry, I meant to say "no one but Taobao". I know you guys depend on this feature :).

-- leif


Re: git commit: TS-2168 Make RecordsConfig.cc more inline with default builds.

Posted by Yunkai Zhang <yu...@gmail.com>.
在 2013年9月6日星期五,Leif Hedstrom 写道:

> On Sep 5, 2013, at 10:10 PM, Yunkai Zhang <yunkai.me@gmail.com<javascript:;>>
> wrote:
>
> >> proper implementation of TS-1882. It's as simple as that.
> >
> >
> > I have tried my best to implement conditional generating records.cong,
> but
> > failed. It seems there are no proper macro like #if/#else for autoconf
> *.in
> > template file.
>
> Yeah, neither could I. autoconf fails us again …
>
> >
> > What I mean is that: before implemented TS-1882, we should make 1 as
> > default in records.config(I updated it to 1, but you changed it to 0
> > again), should we?
>
>
> Ah, I see where the confusion lays. I don't really care if it's '1' or
> '0', I want it to be consistent. :) Since records.config is what takes
> precedence, I simply assumed that it was the preferred setting. We can most
> certainly change it to '1', that seems fine since it's a "no-op" when it's
> not built with the feature anyways.
>
>
Ok.



> Cheers,
>
> -- leif
>
>

-- 
Yunkai Zhang
Work at Taobao

Re: git commit: TS-2168 Make RecordsConfig.cc more inline with default builds.

Posted by Leif Hedstrom <zw...@apache.org>.
On Sep 5, 2013, at 10:10 PM, Yunkai Zhang <yu...@gmail.com> wrote:

>> proper implementation of TS-1882. It's as simple as that.
> 
> 
> I have tried my best to implement conditional generating records.cong, but
> failed. It seems there are no proper macro like #if/#else for autoconf *.in
> template file.

Yeah, neither could I. autoconf fails us again …

> 
> What I mean is that: before implemented TS-1882, we should make 1 as
> default in records.config(I updated it to 1, but you changed it to 0
> again), should we?


Ah, I see where the confusion lays. I don't really care if it's '1' or '0', I want it to be consistent. :) Since records.config is what takes precedence, I simply assumed that it was the preferred setting. We can most certainly change it to '1', that seems fine since it's a "no-op" when it's not built with the feature anyways.

Cheers,

-- leif


Re: git commit: TS-2168 Make RecordsConfig.cc more inline with default builds.

Posted by Yunkai Zhang <yu...@gmail.com>.
在 2013年9月6日星期五,Leif Hedstrom 写道:

> On Sep 5, 2013, at 8:39 PM, Yunkai Zhang <yunkai.me@gmail.com<javascript:;>>
> wrote:
>
> > 在 2013年9月5日星期四,Leif Hedstrom 写道:
> >
> >>
> >> On Sep 4, 2013, at 5:02 PM, zwoop@apache.org <javascript:;><javascript:;> wrote:
> >>
> >> I'm not sure I like this, because it means it would be impossible to
> >> implement TS-1882 ("ATS doesn't warn about unknown config items").
> >>
> >> What I would like is one of
> >>
> >> 1) Set the defaults to 0 consistently, as it was.
> >
> >
> > I don't think so. I should point out again:
> >
> > 1) 0 is a *bad* default value for users. I much more care about user
> > experience: so many users complain to me why the reclaim don't make
> effect
> > after enable reclaimable free list.
>
> What are you arguing about ? Who said anything about user experience?
>
> What this commit does it that it produces a default records.config files
> that don't have corresponding RecordsConfig.cc entries. That prevents
> proper implementation of TS-1882. It's as simple as that.


I have tried my best to implement conditional generating records.cong, but
failed. It seems there are no proper macro like #if/#else for autoconf *.in
template file.

What I mean is that: before implemented TS-1882, we should make 1 as
default in records.config(I updated it to 1, but you changed it to 0
again), should we?



>
> If you think it's correct behavior that we have a default records.config
> that doesn't have appropriate RecordsConfig.cc support, well, I guess we
> have different opinions on what "user experience" is. I much rather make it
> possible for users (with TS-1882 implemented) get errors when they have a
> typo in a records.config name, than accommodating for an edge case that
> most people don't experience…
>
> I would prefer option 2) in my post, I don't know if it's possible. I find
> it highly confusing to have reclaimable free list configurations in our
> default records.config, when the default is to not build with reclaimable
> freelist. Talk about poor user experience.
>
> Now, how do we make reclaimable freelist enabled by default? I think we
> need to do proper code reviews, and tests on performance by more than one
> organization. So far, no one (that I know of?) has voiced any interest in
> this feature, but I urge people who do to speak up so we can make this a
> priority.
>
>
> > IMO, good user experience is the most priority than everything, what
> > program should do is to free user's hand and mind.
>
> Of course. The reclaimable freelist is still an "experimental" feature.
> The rest of records.config / RecordsConfig.cc is not…
>
> Ciao,
>
> -- leif
>
>

-- 
Yunkai Zhang
Work at Taobao

Re: git commit: TS-2168 Make RecordsConfig.cc more inline with default builds.

Posted by Leif Hedstrom <zw...@apache.org>.
On Sep 5, 2013, at 8:39 PM, Yunkai Zhang <yu...@gmail.com> wrote:

> 在 2013年9月5日星期四,Leif Hedstrom 写道:
> 
>> 
>> On Sep 4, 2013, at 5:02 PM, zwoop@apache.org <javascript:;> wrote:
>> 
>> I'm not sure I like this, because it means it would be impossible to
>> implement TS-1882 ("ATS doesn't warn about unknown config items").
>> 
>> What I would like is one of
>> 
>> 1) Set the defaults to 0 consistently, as it was.
> 
> 
> I don't think so. I should point out again:
> 
> 1) 0 is a *bad* default value for users. I much more care about user
> experience: so many users complain to me why the reclaim don't make effect
> after enable reclaimable free list.

What are you arguing about ? Who said anything about user experience?

What this commit does it that it produces a default records.config files that don't have corresponding RecordsConfig.cc entries. That prevents proper implementation of TS-1882. It's as simple as that.

If you think it's correct behavior that we have a default records.config that doesn't have appropriate RecordsConfig.cc support, well, I guess we have different opinions on what "user experience" is. I much rather make it possible for users (with TS-1882 implemented) get errors when they have a typo in a records.config name, than accommodating for an edge case that most people don't experience…

I would prefer option 2) in my post, I don't know if it's possible. I find it highly confusing to have reclaimable free list configurations in our default records.config, when the default is to not build with reclaimable freelist. Talk about poor user experience.

Now, how do we make reclaimable freelist enabled by default? I think we need to do proper code reviews, and tests on performance by more than one organization. So far, no one (that I know of?) has voiced any interest in this feature, but I urge people who do to speak up so we can make this a priority.


> IMO, good user experience is the most priority than everything, what
> program should do is to free user's hand and mind.

Of course. The reclaimable freelist is still an "experimental" feature. The rest of records.config / RecordsConfig.cc is not…

Ciao,

-- leif


Re: git commit: TS-2168 Make RecordsConfig.cc more inline with default builds.

Posted by Yunkai Zhang <yu...@gmail.com>.
在 2013年9月5日星期四,Leif Hedstrom 写道:

>
> On Sep 4, 2013, at 5:02 PM, zwoop@apache.org <javascript:;> wrote:
>
> > Updated Branches:
> >  refs/heads/master ebe3502c1 -> 1b75d0f0f
> >
> >
> > TS-2168 Make RecordsConfig.cc more inline with default builds.
> >
> >
> > Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
> > Commit:
> http://git-wip-us.apache.org/repos/asf/trafficserver/commit/1b75d0f0
> > Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/1b75d0f0
> > Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/1b75d0f0
>
>
> I'm not sure I like this, because it means it would be impossible to
> implement TS-1882 ("ATS doesn't warn about unknown config items").
>
> What I would like is one of
>
> 1) Set the defaults to 0 consistently, as it was.


I don't think so. I should point out again:

1) 0 is a *bad* default value for users. I much more care about user
experience: so many users complain to me why the reclaim don't make effect
after enable reclaimable freelist.

2) Making 1 as default is harmless when disable reclaimable freelist(it
make no sense, we have commented it in records.config), but all users of
reclaimable freelist will benefit from it.

IMO, good user experience is the most priority than everything, what
program should do is to free user's hand and mind.




>
> 2) Make the entries in records.config.default.in also conditional (I
> don't know if this is possible).
>
>
> #2 still has the problem that it could generate errors later on when
> someone switches ATS build or configs, but that's probably OK.
>
> Also, the new  text  in records.config is *much* too verbose IMO. Attached
> is a proposed new format. This also includes what I think is a bug fix, the
> debug config restricts to values 0 or 1, but there are two bit fields, so
> it should be at least 0-3.
>
> Cheers,
>
> -- Leif
>
> diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
> index 919675f..c1fec36 100644
> --- a/mgmt/RecordsConfig.cc
> +++ b/mgmt/RecordsConfig.cc
> @@ -1944,14 +1944,14 @@ RecordElement RecordsConfig[] = {
>    //# Using for Reclaimable InkFreeList memory pool
>    //#
>    //############
> -  {RECT_CONFIG, "proxy.config.allocator.debug_filter", RECD_INT, "0",
> RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
> +  {RECT_CONFIG, "proxy.config.allocator.enable_reclaim", RECD_INT, "1",
> RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
>    ,
>    {RECT_CONFIG, "proxy.config.allocator.max_overage", RECD_INT, "3",
> RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
>    ,
> -  {RECT_CONFIG, "proxy.config.allocator.enable_reclaim", RECD_INT, "1",
> RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
> -  ,
>    {RECT_CONFIG, "proxy.config.allocator.reclaim_factor", RECD_FLOAT,
> "0.3", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
>    ,
> +  {RECT_CONFIG, "proxy.config.allocator.debug_filter", RECD_INT, "0",
> RECU_NULL, RR_NULL, RECC_NULL, "[0-3]", RECA_NULL}
> +  ,
>  #endif /* TS_USE_RECLAIMABLE_FREELIST */
>
>    //############
> diff --git a/proxy/config/records.config.default.in b/proxy/config/
> records.config.default.in
> index a5abe55..900d571 100644
> --- a/proxy/config/records.config.default.in
> +++ b/proxy/config/records.config.default.in
> @@ -606,35 +606,24 @@ CONFIG proxy.config.diags.show_location INT 0
>  #
>  # Configuration for Reclaimable InkFreeList memory pool
>  #
> -# NOTE: The following options are no meaningful unless compiles
> TrafficServer
> -#      with '--enable-reclaimable-freelist' option. Looks like:
> -#      $ ./configure --enable-reclaimable-freelist
> +# NOTE: The following options are meaningfull only when Traffic Server is
> +#       compiled with the following option to configure:
> +#
> +#          --enable-reclaimable-freelist
>  #
>
>  ##############################################################################
> -  # Dump debug information according bit mask of debug_filter, if a bit
> is set
> -  # in the mask, then debug information of the corresponding action are
> dumped:
> -  #  bit 0: reclaim memory in ink_freelist_new
> -  #  bit 1: allocate memory from partial-free Chunks(if exist) or OS
> -  # NOTE: This option make no sense unless compiles TrafficServer
> -  #       with '--enable-reclaimable-freelist' option.
> -CONFIG proxy.config.allocator.debug_filter INT 0
> -  # The value of enable_reclaim should be 0 or 1. Default 1, reclaim
> enabled.
> -  # NOTE: This option make no sense unless compiles TrafficServer
> -  #       with '--enable-reclaimable-freelist' option.
> -CONFIG proxy.config.allocator.enable_reclaim INT 1
> -  # The value of reclaim_factor should be in 0.0 ~ 1.0, allocator use it
> to
> -  # calculate average value of idle memory in InkFreeList, which will
> determine
> -  # when to reclaim memory. The larger the value, the faster the
> reclaiming.
> -  # This value is effective only when enable_reclaim is 1.
> -  # NOTE: This option make no sense unless compiles TrafficServer
> -  #       with '--enable-reclaimable-freelist' option.
> +CONFIG proxy.config.allocator.enable_reclaim INT 1
> +  # The value of reclaim_factor should be in the 0.0 to 1.0 range.
> Allocators
> +  # use it to calculate size of unused memory, which is used to determine
> when
> +  # to reclaim memory. The larger the value, the more aggressive reclaims.
>  CONFIG proxy.config.allocator.reclaim_factor FLOAT 0.300000
>    # Allocator will reclaim memory only when it continuously satisfy the
> reclaim
> -  # condition for max_overage times. This value is effective only when
> -  # enable_reclaim is 1.
> -  # NOTE: This option make no sense unless compiles TrafficServer
> -  #       with '--enable-reclaimable-freelist' option.
> +  # condition for max_overage continuous checks.
>  CONFIG proxy.config.allocator.max_overage INT 3
> +  #  For debugging, enable debug_filter, which is a bit-map with these
> fields:
> +  #     bit 0: reclaim memory in ink_freelist_new
> +  #     bit 1: allocate memory from partial-free Chunks(if exist) or OS
> +CONFIG proxy.config.allocator.debug_filter INT 0
>
>
>  ##############################################################################
>  #
>
>

-- 
Yunkai Zhang
Work at Taobao

Re: git commit: TS-2168 Make RecordsConfig.cc more inline with default builds.

Posted by Leif Hedstrom <zw...@apache.org>.
On Sep 4, 2013, at 5:02 PM, zwoop@apache.org wrote:

> Updated Branches:
>  refs/heads/master ebe3502c1 -> 1b75d0f0f
> 
> 
> TS-2168 Make RecordsConfig.cc more inline with default builds.
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
> Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/1b75d0f0
> Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/1b75d0f0
> Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/1b75d0f0


I'm not sure I like this, because it means it would be impossible to implement TS-1882 ("ATS doesn't warn about unknown config items").

What I would like is one of

1) Set the defaults to 0 consistently, as it was.

2) Make the entries in records.config.default.in also conditional (I don't know if this is possible).


#2 still has the problem that it could generate errors later on when someone switches ATS build or configs, but that's probably OK.

Also, the new  text  in records.config is *much* too verbose IMO. Attached is a proposed new format. This also includes what I think is a bug fix, the debug config restricts to values 0 or 1, but there are two bit fields, so it should be at least 0-3.

Cheers,

-- Leif

diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
index 919675f..c1fec36 100644
--- a/mgmt/RecordsConfig.cc
+++ b/mgmt/RecordsConfig.cc
@@ -1944,14 +1944,14 @@ RecordElement RecordsConfig[] = {
   //# Using for Reclaimable InkFreeList memory pool
   //#
   //############
-  {RECT_CONFIG, "proxy.config.allocator.debug_filter", RECD_INT, "0", RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
+  {RECT_CONFIG, "proxy.config.allocator.enable_reclaim", RECD_INT, "1", RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.allocator.max_overage", RECD_INT, "3", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
-  {RECT_CONFIG, "proxy.config.allocator.enable_reclaim", RECD_INT, "1", RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
-  ,
   {RECT_CONFIG, "proxy.config.allocator.reclaim_factor", RECD_FLOAT, "0.3", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
+  {RECT_CONFIG, "proxy.config.allocator.debug_filter", RECD_INT, "0", RECU_NULL, RR_NULL, RECC_NULL, "[0-3]", RECA_NULL}
+  ,
 #endif /* TS_USE_RECLAIMABLE_FREELIST */
 
   //############
diff --git a/proxy/config/records.config.default.in b/proxy/config/records.config.default.in
index a5abe55..900d571 100644
--- a/proxy/config/records.config.default.in
+++ b/proxy/config/records.config.default.in
@@ -606,35 +606,24 @@ CONFIG proxy.config.diags.show_location INT 0
 #
 # Configuration for Reclaimable InkFreeList memory pool
 #
-# NOTE: The following options are no meaningful unless compiles TrafficServer
-#	with '--enable-reclaimable-freelist' option. Looks like:
-#	$ ./configure --enable-reclaimable-freelist
+# NOTE: The following options are meaningfull only when Traffic Server is
+#       compiled with the following option to configure:
+#
+#	    --enable-reclaimable-freelist
 #
 ##############################################################################
-  # Dump debug information according bit mask of debug_filter, if a bit is set
-  # in the mask, then debug information of the corresponding action are dumped:
-  #  bit 0: reclaim memory in ink_freelist_new
-  #  bit 1: allocate memory from partial-free Chunks(if exist) or OS
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
-CONFIG proxy.config.allocator.debug_filter INT 0
-  # The value of enable_reclaim should be 0 or 1. Default 1, reclaim enabled.
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
-CONFIG proxy.config.allocator.enable_reclaim INT 1
-  # The value of reclaim_factor should be in 0.0 ~ 1.0, allocator use it to
-  # calculate average value of idle memory in InkFreeList, which will determine
-  # when to reclaim memory. The larger the value, the faster the reclaiming.
-  # This value is effective only when enable_reclaim is 1.
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
+CONFIG proxy.config.allocator.enable_reclaim INT 1
+  # The value of reclaim_factor should be in the 0.0 to 1.0 range. Allocators
+  # use it to calculate size of unused memory, which is used to determine when
+  # to reclaim memory. The larger the value, the more aggressive reclaims.
 CONFIG proxy.config.allocator.reclaim_factor FLOAT 0.300000
   # Allocator will reclaim memory only when it continuously satisfy the reclaim
-  # condition for max_overage times. This value is effective only when
-  # enable_reclaim is 1.
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
+  # condition for max_overage continuous checks.
 CONFIG proxy.config.allocator.max_overage INT 3
+  #  For debugging, enable debug_filter, which is a bit-map with these fields:
+  #     bit 0: reclaim memory in ink_freelist_new
+  #     bit 1: allocate memory from partial-free Chunks(if exist) or OS
+CONFIG proxy.config.allocator.debug_filter INT 0
 
 ##############################################################################
 #


Re: git commit: TS-2168 Make RecordsConfig.cc more inline with default builds.

Posted by Leif Hedstrom <zw...@apache.org>.
On Sep 4, 2013, at 5:02 PM, zwoop@apache.org wrote:

> Updated Branches:
>  refs/heads/master ebe3502c1 -> 1b75d0f0f
> 
> 
> TS-2168 Make RecordsConfig.cc more inline with default builds.
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
> Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/1b75d0f0
> Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/1b75d0f0
> Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/1b75d0f0


I'm not sure I like this, because it means it would be impossible to implement TS-1882 ("ATS doesn't warn about unknown config items").

What I would like is one of

1) Set the defaults to 0 consistently, as it was.

2) Make the entries in records.config.default.in also conditional (I don't know if this is possible).


#2 still has the problem that it could generate errors later on when someone switches ATS build or configs, but that's probably OK.

Also, the new  text  in records.config is *much* too verbose IMO. Attached is a proposed new format. This also includes what I think is a bug fix, the debug config restricts to values 0 or 1, but there are two bit fields, so it should be at least 0-3.

Cheers,

-- Leif

diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
index 919675f..c1fec36 100644
--- a/mgmt/RecordsConfig.cc
+++ b/mgmt/RecordsConfig.cc
@@ -1944,14 +1944,14 @@ RecordElement RecordsConfig[] = {
   //# Using for Reclaimable InkFreeList memory pool
   //#
   //############
-  {RECT_CONFIG, "proxy.config.allocator.debug_filter", RECD_INT, "0", RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
+  {RECT_CONFIG, "proxy.config.allocator.enable_reclaim", RECD_INT, "1", RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.allocator.max_overage", RECD_INT, "3", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
-  {RECT_CONFIG, "proxy.config.allocator.enable_reclaim", RECD_INT, "1", RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
-  ,
   {RECT_CONFIG, "proxy.config.allocator.reclaim_factor", RECD_FLOAT, "0.3", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
+  {RECT_CONFIG, "proxy.config.allocator.debug_filter", RECD_INT, "0", RECU_NULL, RR_NULL, RECC_NULL, "[0-3]", RECA_NULL}
+  ,
 #endif /* TS_USE_RECLAIMABLE_FREELIST */
 
   //############
diff --git a/proxy/config/records.config.default.in b/proxy/config/records.config.default.in
index a5abe55..900d571 100644
--- a/proxy/config/records.config.default.in
+++ b/proxy/config/records.config.default.in
@@ -606,35 +606,24 @@ CONFIG proxy.config.diags.show_location INT 0
 #
 # Configuration for Reclaimable InkFreeList memory pool
 #
-# NOTE: The following options are no meaningful unless compiles TrafficServer
-#	with '--enable-reclaimable-freelist' option. Looks like:
-#	$ ./configure --enable-reclaimable-freelist
+# NOTE: The following options are meaningfull only when Traffic Server is
+#       compiled with the following option to configure:
+#
+#	    --enable-reclaimable-freelist
 #
 ##############################################################################
-  # Dump debug information according bit mask of debug_filter, if a bit is set
-  # in the mask, then debug information of the corresponding action are dumped:
-  #  bit 0: reclaim memory in ink_freelist_new
-  #  bit 1: allocate memory from partial-free Chunks(if exist) or OS
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
-CONFIG proxy.config.allocator.debug_filter INT 0
-  # The value of enable_reclaim should be 0 or 1. Default 1, reclaim enabled.
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
-CONFIG proxy.config.allocator.enable_reclaim INT 1
-  # The value of reclaim_factor should be in 0.0 ~ 1.0, allocator use it to
-  # calculate average value of idle memory in InkFreeList, which will determine
-  # when to reclaim memory. The larger the value, the faster the reclaiming.
-  # This value is effective only when enable_reclaim is 1.
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
+CONFIG proxy.config.allocator.enable_reclaim INT 1
+  # The value of reclaim_factor should be in the 0.0 to 1.0 range. Allocators
+  # use it to calculate size of unused memory, which is used to determine when
+  # to reclaim memory. The larger the value, the more aggressive reclaims.
 CONFIG proxy.config.allocator.reclaim_factor FLOAT 0.300000
   # Allocator will reclaim memory only when it continuously satisfy the reclaim
-  # condition for max_overage times. This value is effective only when
-  # enable_reclaim is 1.
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
+  # condition for max_overage continuous checks.
 CONFIG proxy.config.allocator.max_overage INT 3
+  #  For debugging, enable debug_filter, which is a bit-map with these fields:
+  #     bit 0: reclaim memory in ink_freelist_new
+  #     bit 1: allocate memory from partial-free Chunks(if exist) or OS
+CONFIG proxy.config.allocator.debug_filter INT 0
 
 ##############################################################################
 #