MB-24142: Use correct unit for slowTask recording
[ep-engine.git] / configuration.json
1 {
2     "params": {
3         "alog_block_size": {
4             "default": "4096",
5             "descr": "Logging block size.",
6             "dynamic": false,
7             "type": "size_t"
8         },
9         "alog_path": {
10             "default": "",
11             "descr": "Path to the access log.",
12             "dynamic": false,
13             "type": "std::string"
14         },
15         "access_scanner_enabled": {
16             "default": "true",
17             "descr": "True if access scanner task is enabled",
18             "type": "bool"
19         },
20         "alog_sleep_time": {
21             "default": "1440",
22             "descr": "Number of minutes between each sweep for the access log",
23             "type": "size_t",
24             "validator": {
25                 "range": {
26                     "max": 4320,
27                     "min": 1
28                 }
29             }
30         },
31         "alog_task_time": {
32             "default": "2",
33             "descr": "Hour in GMT time when access scanner task is scheduled to run",
34             "type": "size_t",
35             "validator": {
36                 "range": {
37                     "max": 23,
38                     "min": 0
39                 }
40             }
41         },
42         "alog_resident_ratio_threshold": {
43             "default": "95",
44             "desr": "Resident ratio percentage above which we do not generate access log",
45             "dynamic": false,
46             "type": "size_t",
47             "validator": {
48                 "range": {
49                     "max": 100,
50                     "min": 0
51                 }
52             }
53         },
54         "backend": {
55             "default": "couchdb",
56             "dynamic": false,
57             "type": "std::string",
58             "validator": {
59                 "enum": [
60                     "couchdb",
61                     "forestdb"
62                 ]
63             }
64         },
65         "backfill_mem_threshold": {
66             "default": "96",
67             "desr": "Percentage of memory that backfill task is allowed to consume",
68             "type": "size_t",
69             "validator": {
70                 "range": {
71                     "max": 100,
72                     "min": 0
73                 }
74             }
75         },
76         "bg_fetch_delay": {
77             "default": "0",
78             "type": "size_t",
79             "validator": {
80                 "range": {
81                     "max": 900,
82                     "min": 0
83                 }
84             }
85         },
86         "bfilter_enabled": {
87             "default": "true",
88             "desr": "Enable or disable the bloom filter",
89             "type": "bool"
90         },
91         "bfilter_key_count": {
92             "default": "10000",
93             "desr": "Bloomfilter: Estimated key count per vbucket",
94             "type": "size_t"
95         },
96         "bfilter_fp_prob": {
97             "default": "0.01",
98             "desr": "Bloomfilter: Allowed probability for false positives",
99             "type": "float"
100         },
101         "bfilter_residency_threshold": {
102             "default": "0.1",
103             "desr" : "If resident ratio (during full eviction) were found less than this threshold, compaction will include all items into bloomfilter",
104             "type" : "float",
105             "validator": {
106                 "range": {
107                     "max": 1.0,
108                     "min": 0.0
109                 }
110             }
111         },
112         "compaction_exp_mem_threshold": {
113             "default": "85",
114             "desr": "Memory usage threshold after which compaction will not queue expired items for deletion",
115             "type": "size_t",
116             "validator": {
117                 "range": {
118                     "max": 100,
119                     "min": 0
120                 }
121             }
122         },
123         "chk_max_items": {
124             "default": "500",
125             "type": "size_t"
126         },
127         "chk_period": {
128             "default": "5",
129             "type": "size_t"
130         },
131         "chk_remover_stime": {
132             "default": "5",
133             "type": "size_t"
134         },
135         "compaction_write_queue_cap": {
136             "default": "10000",
137             "desr" : "Disk write queue threshold after which compaction tasks will be made to snooze, if there are already pending compaction tasks",
138             "type" : "size_t",
139             "validator": {
140                 "range": {
141                     "min": 1
142                 }
143             }
144         },
145         "config_file": {
146             "default": "",
147             "dynamic": false,
148             "type": "std::string"
149         },
150         "conflict_resolution_type": {
151             "default": "seqno",
152             "dynamic": false,
153             "type": "std::string",
154             "validator": {
155                 "enum": [
156                     "seqno",
157                     "lww"
158                 ]
159             }
160         },
161         "couch_bucket": {
162             "default": "default",
163             "dynamic": false,
164             "type": "std::string"
165         },
166         "cursor_dropping_lower_mark": {
167             "default": "80",
168             "descr": "Percentage of memQuota, below which checkpoint cursor dropping will not continue",
169             "type": "size_t",
170             "validator": {
171                 "range": {
172                     "max": 100,
173                     "min": 0
174                 }
175             }
176         },
177         "cursor_dropping_upper_mark": {
178             "default": "95",
179             "descr": "Percentage of memQuota, above which checkpoint cursor dropping will commence",
180             "type": "size_t",
181             "validator": {
182                 "range": {
183                     "max": 100,
184                     "min": 0
185                 }
186             }
187         },
188         "data_traffic_enabled": {
189             "default": "true",
190             "descr": "True if we want to enable data traffic after warmup is complete",
191             "type": "bool"
192         },
193         "dbname": {
194             "default": "./test",
195             "descr": "Path to on-disk storage.",
196             "dynamic": false,
197             "type": "std::string"
198         },
199         "defragmenter_enabled": {
200             "default": "true",
201             "descr": "True if defragmenter task is enabled",
202             "type": "bool"
203         },
204         "defragmenter_interval": {
205             "default": "10",
206             "descr": "How often defragmenter task should be run (in seconds).",
207             "type": "size_t"
208         },
209         "defragmenter_age_threshold": {
210             "default": "10",
211             "descr": "How old (measured in number of defragmenter passes) must a document be to be considered for degragmentation.",
212             "type": "size_t"
213         },
214         "defragmenter_chunk_duration": {
215             "default": "20",
216             "descr": "Maximum time (in ms) defragmentation task will run for before being paused (and resumed at the next defragmenter_interval).",
217             "type": "size_t",
218             "validator": {
219                 "range": {
220                     "min": 1
221                 }
222             }
223         },
224         "enable_chk_merge": {
225             "default": "false",
226             "descr": "True if merging closed checkpoints is enabled",
227             "type": "bool"
228         },
229         "exp_pager_enabled": {
230             "default": "true",
231             "descr": "True if expiry pager task is enabled",
232             "type": "bool"
233         },
234         "exp_pager_stime": {
235             "default": "3600",
236             "descr": "Number of seconds between expiry pager runs.",
237             "type": "size_t"
238         },
239         "exp_pager_initial_run_time": {
240             "default": "-1",
241             "descr": "Hour in GMT time when expiry pager can be scheduled for initial run",
242             "type": "ssize_t",
243             "validator": {
244                 "range": {
245                     "max": 23,
246                     "min": -1
247                 }
248             }
249         },
250         "failpartialwarmup": {
251             "default": "true",
252             "type": "bool"
253         },
254         "flushall_enabled": {
255             "default": "true",
256             "descr": "True if memcached flush API is enabled",
257             "type": "bool"
258         },
259         "getl_default_timeout": {
260             "default": "15",
261             "descr": "The default timeout for a getl lock in (s)",
262             "type": "size_t"
263         },
264         "getl_max_timeout": {
265             "default": "30",
266             "descr": "The maximum timeout for a getl lock in (s)",
267             "type": "size_t"
268         },
269         "hlc_drift_ahead_threshold_us": {
270             "default": "5000000",
271             "descr": "The μs threshold of drift at which we will increment a vbucket's ahead counter.",
272             "type": "size_t"
273         },
274         "hlc_drift_behind_threshold_us": {
275             "default": "5000000",
276             "descr": "The μs threshold of drift at which we will increment a vbucket's behind counter.",
277             "type": "size_t"
278         },
279         "ht_locks": {
280             "default": "47",
281             "type": "size_t"
282         },
283         "ht_size": {
284             "default": "0",
285             "type": "size_t"
286         },
287         "initfile": {
288             "default": "",
289             "type": "std::string"
290         },
291         "item_eviction_policy": {
292             "default": "value_only",
293             "descr": "Item eviction policy on cache, which is used by the item pager",
294             "type": "std::string",
295             "validator": {
296                 "enum": [
297                     "value_only",
298                     "full_eviction"
299                 ]
300             }
301         },
302         "item_num_based_new_chk": {
303             "default": "true",
304             "descr": "True if the number of items in the current checkpoint plays a role in a new checkpoint creation",
305             "type": "bool"
306         },
307         "keep_closed_chks": {
308             "default": "false",
309             "descr": "True if we want to keep the closed checkpoints for each vbucket unless the memory usage is above high water mark",
310             "type": "bool"
311         },
312         "connection_manager_interval": {
313             "default": "2",
314             "descr": "How often connection manager task should be run (in seconds).",
315             "type": "size_t",
316             "dynamic": false,
317             "validator": {
318                 "range": {
319                     "min": 2
320                 }
321             }
322         },
323         "max_checkpoints": {
324             "default": "2",
325             "type": "size_t"
326         },
327         "max_failover_entries": {
328             "default": "25",
329             "descr": "maximum number of failover log entries",
330             "type": "size_t"
331         },
332         "max_item_size": {
333             "default": "(20 * 1024 * 1024)",
334             "descr": "Maximum number of bytes allowed for an item",
335             "type": "size_t"
336         },
337         "max_size": {
338             "default": "0",
339             "type": "size_t"
340         },
341         "max_vbuckets": {
342             "default": "1024",
343             "descr": "Maximum number of vbuckets expected",
344             "dynamic": false,
345             "type": "size_t"
346         },
347         "max_threads": {
348             "default": "0",
349             "descr": "Maximum number of threads in global pool",
350             "dynamic": false,
351             "type": "size_t"
352         },
353         "max_num_shards": {
354             "default": "4",
355             "descr": "Maximum number of shards",
356             "dynamic": false,
357             "type": "size_t"
358         },
359         "max_num_workers": {
360             "default": "4",
361             "descr": "Bucket Priority relative to other buckets",
362             "dynamic": false,
363             "type": "size_t",
364             "validator": {
365                 "range": {
366                     "max": 8,
367                     "min": 1
368                 }
369             }
370         },
371         "max_num_readers": {
372             "default": "0",
373             "descr": "Throttle max number of reader threads",
374             "dynamic": false,
375             "type": "size_t",
376             "validator": {
377                 "range": {
378                     "max": 512,
379                     "min": 0
380                 }
381             }
382         },
383         "max_num_writers": {
384             "default": "0",
385             "descr": "Throttle max number of writer threads",
386             "dynamic": false,
387             "type": "size_t",
388             "validator": {
389                 "range": {
390                     "max": 512,
391                     "min": 0
392                 }
393             }
394         },
395         "max_num_auxio": {
396             "default": "0",
397             "descr": "Throttle max number of aux io threads",
398             "dynamic": false,
399             "type": "size_t",
400             "validator": {
401                 "range": {
402                     "max": 512,
403                     "min": 0
404                 }
405             }
406         },
407         "max_num_nonio": {
408             "default": "0",
409             "descr": "Throttle max number of non io threads",
410             "dynamic": false,
411             "type": "size_t",
412             "validator": {
413                 "range": {
414                     "max": 512,
415                     "min": 0
416                 }
417             }
418         },
419         "mem_high_wat": {
420             "default": "max",
421             "type": "size_t"
422         },
423         "mem_low_wat": {
424             "default": "max",
425             "type": "size_t"
426         },
427         "mutation_mem_threshold": {
428             "default": "93",
429             "desr": "Percentage of memory that can be used before mutations return tmpOOMs",
430             "type": "size_t",
431             "validator" : {
432                 "range" : {
433                     "max": 100,
434                     "min": 0
435                 }
436             }
437         },
438         "pager_active_vb_pcnt": {
439             "default": "40",
440             "descr": "Active vbuckets paging percentage",
441             "type": "size_t",
442             "validator": {
443                 "range": {
444                     "max": 50,
445                     "min": 0
446                 }
447             }
448         },
449         "postInitfile": {
450             "default": "",
451             "type": "std::string"
452         },
453         "tap_ack_grace_period": {
454             "default": "300",
455             "type": "size_t"
456         },
457         "tap_ack_initial_sequence_number": {
458             "default": "1",
459             "type": "size_t"
460         },
461         "tap_ack_interval": {
462             "default": "1000",
463             "type": "size_t"
464         },
465         "tap_ack_window_size": {
466             "default": "10",
467             "type": "size_t"
468         },
469         "tap_backfill_resident": {
470             "default": "0.9",
471             "type": "float"
472         },
473         "tap_backlog_limit": {
474             "default": "5000",
475             "type": "size_t"
476         },
477         "tap_backoff_period": {
478             "default": "5.0",
479             "type": "float"
480         },
481         "tap_bg_max_pending": {
482             "default": "500",
483             "type": "size_t"
484         },
485         "tap_keepalive": {
486             "default": "0",
487             "type": "size_t"
488         },
489         "tap_noop_interval": {
490             "default": "200",
491             "descr": "Number of seconds between a noop is sent on an idle connection",
492             "type": "size_t"
493         },
494         "tap_requeue_sleep_time": {
495             "default": "0.1",
496             "type": "float"
497         },
498         "replication_throttle_cap_pcnt": {
499             "default": "10",
500             "descr": "Percentage of total items in write queue at which we throttle tap input",
501             "type": "size_t",
502             "validator": {
503                 "range": {
504                     "max": 100,
505                     "min": 0
506                 }
507             }
508         },
509         "replication_throttle_queue_cap": {
510             "default": "-1",
511             "descr": "Max size of a write queue to throttle incoming tap input.",
512             "type": "ssize_t",
513             "validator": {
514                 "range": {
515                     "max": 100000000,
516                     "min": -1
517                 }
518             }
519         },
520         "replication_throttle_threshold": {
521             "default": "99",
522             "descr": "Percentage of max mem at which we begin NAKing tap input.",
523             "type": "size_t",
524             "validator": {
525                 "range": {
526                     "max": 100,
527                     "min": 0
528                 }
529             }
530         },
531         "uuid": {
532             "default": "",
533             "descr": "The UUID for the bucket",
534             "dynamic" : false,
535             "type": "std::string"
536         },
537         "dcp_backfill_byte_limit": {
538             "default": "20972856",
539             "descr": "Max bytes a connection can backfill into memory",
540             "dynamic": false,
541             "type": "size_t"
542         },
543         "dcp_flow_control_policy": {
544             "default": "aggressive",
545             "descr": "Flow control policy used on consumer side buffer",
546             "type": "std::string",
547             "validator": {
548                 "enum": [
549                          "none",
550                          "static",
551                          "dynamic",
552                          "aggressive"
553                         ]
554             }
555         },
556         "dcp_conn_buffer_size": {
557             "default": "10485760",
558             "descr": "Size in bytes of an dcp consumer connection buffer",
559             "dynamic": false,
560             "type": "size_t"
561         },
562         "dcp_conn_buffer_size_max": {
563             "default": "52428800",
564             "descr": "Max size in bytes of an dcp consumer connection buffer",
565             "dynamic": false,
566             "type": "size_t"
567         },
568         "dcp_conn_buffer_size_perc": {
569             "default": "1",
570             "descr": "Percentage of memQuota for a dcp consumer connection buffer in dynamic flow ctl policy",
571             "type": "size_t",
572             "dynamic": false,
573             "validator": {
574                 "range": {
575                     "max": 10,
576                     "min": 1
577                 }
578             }
579         },
580         "dcp_conn_buffer_size_aggr_mem_threshold": {
581             "default": "10",
582             "descr": "Aggr mem usage by all dcp conns (as percentage of memQuota) after which only dcp_conn_buffer_size is allocated",
583             "type": "size_t",
584             "dynamic": false,
585             "validator": {
586                 "range": {
587                     "max": 20,
588                     "min": 1
589                 }
590             }
591         },
592         "dcp_conn_buffer_size_aggressive_perc": {
593             "default": "5",
594             "descr": "Percentage of memQuota for all dcp consumer connection buffers in aggressive flow ctl policy",
595             "type": "size_t",
596             "dynamic": false,
597             "validator": {
598                 "range": {
599                     "max": 20,
600                     "min": 1
601                 }
602             }
603         },
604         "dcp_enable_noop": {
605             "default": "true",
606             "descr": "Whether or not dcp connections should use no-ops",
607             "dynamic": false,
608             "type": "bool"
609         },
610         "dcp_value_compression_enabled": {
611             "default": "false",
612             "desr": "Whether or not dcp producer should compress value before transmitting",
613             "dynamic": false,
614             "type": "bool"
615         },
616         "dcp_min_compression_ratio": {
617             "default": "0.85",
618             "desr": "Compression ratio to be achieved above which producer will ship documents as is",
619             "type": "float",
620             "validator": {
621                 "range": {
622                     "min": 0.0
623                 }
624             }
625         },
626         "dcp_noop_interval": {
627             "default": "180",
628             "descr": "Number of seconds between a noop",
629             "type": "size_t"
630         },
631         "dcp_max_unacked_bytes": {
632             "default": "524288",
633             "descr": "Amount of processed bytes before an ack is required",
634             "dynamic": false,
635             "type": "size_t"
636         },
637         "dcp_scan_byte_limit": {
638             "default": "4194304",
639             "descr": "Max bytes that can be read in a single disk scan",
640             "dynamic": false,
641             "type": "size_t"
642         },
643         "dcp_scan_item_limit": {
644             "default": "4096",
645             "descr": "Max items that can be read in a single disk scan",
646             "dynamic": false,
647             "type": "size_t"
648         },
649         "dcp_takeover_max_time": {
650             "default": "60",
651             "descr": "Max amount of time for takeover send (in seconds) after which front end ops would return ETMPFAIL",
652             "dynamic": false,
653             "type": "size_t"
654         },
655         "dcp_producer_snapshot_marker_yield_limit": {
656             "default": "10",
657             "descr": "The number of snapshots before ActiveStreamCheckpointProcessorTask::run yields.",
658             "type": "size_t",
659             "validator": {
660                 "range": {
661                     "max": 100000000,
662                     "min": 1
663                 }
664             }
665         },
666         "dcp_consumer_process_buffered_messages_yield_limit" : {
667             "default": "10",
668             "descr": "The number of processBufferedMessages iterations before forcing the task to yield.",
669             "type": "size_t",
670             "validator": {
671                 "range": {
672                     "max": 100000000,
673                     "min": 1
674                 }
675             }
676         },
677         "dcp_consumer_process_buffered_messages_batch_size" : {
678             "default": "10",
679             "descr": "The maximum number of items stream->processBufferedMessages will consume.",
680             "type": "size_t",
681             "validator": {
682                 "range": {
683                     "max": 100000000,
684                     "min": 1
685                 }
686             }
687         },
688         "time_synchronization": {
689             "default": "disabled",
690             "descr": "No longer supported. This config parameter has no effect.",
691             "type": "std::string",
692             "validator": {
693                 "enum": [
694                     "disabled",
695                     "enabled_without_drift",
696                     "enabled_with_drift"
697                 ]
698             }
699         },
700         "vb0": {
701             "default": "false",
702             "type": "bool"
703         },
704         "waitforwarmup": {
705             "default": "false",
706             "type": "bool"
707         },
708         "warmup": {
709             "default": "true",
710             "type": "bool"
711         },
712         "warmup_batch_size": {
713             "default": "10000",
714             "descr": "The size of each batch loaded during warmup.",
715             "dynamic": false,
716             "type": "size_t",
717             "validator": {
718                 "range": {
719                     "max": 100000000,
720                     "min": 1
721                 }
722             }
723         },
724         "warmup_min_memory_threshold": {
725             "default": "100",
726             "descr": "Percentage of max mem warmed up before we enable traffic.",
727             "type": "size_t",
728             "validator": {
729                 "range": {
730                     "max": 100,
731                     "min": 0
732                 }
733             }
734         },
735         "warmup_min_items_threshold": {
736             "default": "100",
737             "descr": "Percentage of total items warmed up before we enable traffic.",
738             "type": "size_t",
739             "validator": {
740                 "range": {
741                     "max": 100,
742                     "min": 0
743                 }
744             }
745         }
746     }
747 }