소스 검색

Merge branch 'more-gc-enforcement-policies' into emqx30

Feng Lee 7 년 전
부모
커밋
b4b31dbfe4
3개의 변경된 파일13개의 추가작업 그리고 4개의 파일을 삭제
  1. 6 0
      etc/emqx.conf
  2. 7 2
      priv/emqx.schema
  3. 0 2
      src/emqx_gc.erl

+ 6 - 0
etc/emqx.conf

@@ -544,6 +544,12 @@ zone.external.enable_acl = on
 ## Value: on | off
 zone.external.enable_stats = on
 
+## Force MQTT connection/session process GC after this number of
+## messages | bytes passed through.
+##
+## Numbers delimited by `|'. Zero or negative is to disable.
+zone.external.force_gc_policy = 1000|1MB
+
 ## Maximum MQTT packet size allowed.
 ##
 ## Value: Bytes

+ 7 - 2
priv/emqx.schema

@@ -852,8 +852,13 @@ end}.
                     {mqtt_shared_subscription, Val};
                ("force_gc_policy", Val) ->
                     [Count, Bytes] = string:tokens(Val, "| "),
-                    {force_gc_policy, #{count => list_to_integer(Count),
-                                        bytes => list_to_integer(Bytes)}};
+                    GcPolicy = case cuttlefish_bytesize:parse(Bytes) of
+                                   {error, Reason} ->
+                                       error(Reason);
+                                   Bytes1 ->
+                                       #{bytes => Bytes1, count => list_to_integer(Count)}
+                               end,
+                    {force_gc_policy, GcPolicy};
                ("force_shutdown_policy", Val) ->
                     [Len, Siz] = string:tokens(Val, "| "),
                     ShutdownPolicy = case cuttlefish_bytesize:parse(Siz) of

+ 0 - 2
src/emqx_gc.erl

@@ -21,8 +21,6 @@
 
 -module(emqx_gc).
 
--author("Feng Lee <feng@emqtt.io>").
-
 -export([init/1, inc/2, reset/0]).
 
 -type st() :: #{ cnt => {integer(), integer()}