Skip to content

Instantly share code, notes, and snippets.

@steveyen
Last active August 29, 2015 14:24
Show Gist options
  • Save steveyen/8d91d0a4808738b54aec to your computer and use it in GitHub Desktop.
Save steveyen/8d91d0a4808738b54aec to your computer and use it in GitHub Desktop.
cbft spawned by ns-server
Steves-MacBook-Pro:couchbase-server steveyen$ repo diff
project ns_server/
diff --git a/cbcollect_info b/cbcollect_info
index 8d3e393..9ed5c96 100755
--- a/cbcollect_info
+++ b/cbcollect_info
@@ -294,7 +294,8 @@ def basedir():
def make_os_tasks():
programs = " ".join(["moxi", "memcached", "beam.smp",
"couch_compact", "godu", "sigar_port",
- "cbq-engine", "indexer", "projector", "goxdcr"])
+ "cbq-engine", "indexer", "projector", "goxdcr",
+ "cbft"])
_tasks = [
UnixTask("uname", "uname -a"),
@@ -543,7 +544,8 @@ def make_product_task(guts, initargs_path, options):
"stats.log", "babysitter.log", "ssl_proxy.log",
"reports.log", "xdcr_trace.log", "http_access.log",
"http_access_internal.log", "ns_couchdb.log",
- "goxdcr.log", "query.log", "projector.log", "indexer.log"]],
+ "goxdcr.log", "query.log", "projector.log", "indexer.log",
+ "cbft.log"]],
[AllOsTask("memcached stats %s" % kind,
diff --git a/cluster_run b/cluster_run
index 50b0fa4..acfe947 100755
--- a/cluster_run
+++ b/cluster_run
@@ -8,6 +8,7 @@ base_couch_port = 9500
base_projector_port = 10000
base_xdcr_port = 13000
base_indexer_port = 9100
+base_cbft_port = 9200
LOGLEVELS = ["debug", "info", "warn", "error", "critical"]
@@ -152,7 +153,8 @@ def erlang_args_for_node(i):
"indexer_http_port", str(base_indexer_port + i * 6 + 2),
"indexer_stinit_port", str(base_indexer_port + i * 6 + 3),
"indexer_stcatchup_port", str(base_indexer_port + i * 6 + 4),
- "indexer_stmaint_port", str(base_indexer_port + i * 6 + 5)
+ "indexer_stmaint_port", str(base_indexer_port + i * 6 + 5),
+ "cbft_http_port", str(base_cbft_port + i)
] + cluster_extra_args
return args
diff --git a/include/ns_common.hrl b/include/ns_common.hrl
index b9f3c6a..dd656d8 100644
--- a/include/ns_common.hrl
+++ b/include/ns_common.hrl
@@ -77,6 +77,7 @@
-define(QUERY_LOG_FILENAME, "query.log").
-define(PROJECTOR_LOG_FILENAME, "projector.log").
-define(INDEXER_LOG_FILENAME, "indexer.log").
+-define(CBFT_LOG_FILENAME, "cbft.log").
-define(NS_SERVER_LOGGER, ns_server).
-define(COUCHDB_LOGGER, couchdb).
diff --git a/src/diag_handler.erl b/src/diag_handler.erl
index 7a84a16..39698f0 100644
--- a/src/diag_handler.erl
+++ b/src/diag_handler.erl
@@ -514,7 +514,8 @@ do_handle_diag(Req, Extra) ->
?XDCR_TRACE_LOG_FILENAME,
?ACCESS_LOG_FILENAME, ?INT_ACCESS_LOG_FILENAME,
?QUERY_LOG_FILENAME, ?PROJECTOR_LOG_FILENAME,
- ?GOXDCR_LOG_FILENAME, ?INDEXER_LOG_FILENAME],
+ ?GOXDCR_LOG_FILENAME, ?INDEXER_LOG_FILENAME,
+ ?CBFT_LOG_FILENAME],
lists:foreach(fun (Log) ->
handle_log(Resp, Log)
diff --git a/src/ns_config_default.erl b/src/ns_config_default.erl
index 24fdb1a..7439301 100644
--- a/src/ns_config_default.erl
+++ b/src/ns_config_default.erl
@@ -194,6 +194,9 @@ default() ->
{{node, node(), indexer_stmaint_port},
misc:get_env_default(indexer_stmaint_port, 9105)},
+ {{node, node(), cbft_http_port},
+ misc:get_env_default(cbft_http_port, 9110)},
+
{{node, node(), ssl_proxy_downstream_port},
case IsEnterprise of
true -> misc:get_env_default(ssl_proxy_downstream_port, 11214);
diff --git a/src/ns_ports_setup.erl b/src/ns_ports_setup.erl
index 8bede1c..6a76092 100644
--- a/src/ns_ports_setup.erl
+++ b/src/ns_ports_setup.erl
@@ -261,7 +261,8 @@ dynamic_children(normal) ->
saslauthd_port_spec(Config),
run_via_goport(goxdcr_spec(Config)),
per_bucket_moxi_specs(Config),
- maybe_create_ssl_proxy_spec(Config)],
+ maybe_create_ssl_proxy_spec(Config),
+ run_via_goport(cbft_spec(Config))],
lists:flatten(Specs).
@@ -552,3 +553,23 @@ memcached_spec(Config) ->
},
[expand_args(Spec, Config)].
+
+cbft_spec(Config) ->
+ NsRestPort = misc:node_rest_port(Config, node()),
+ FtRestPort = ns_config:search(Config, {node, node(), cbft_http_port}, 9110),
+ {ok, IdxDir} = ns_storage_conf:this_node_ixdir(),
+ FtIdxDir = filename:join(IdxDir, "@cbft"),
+ ok = misc:ensure_writable_dir(FtIdxDir),
+ FtCmd = find_executable("cbft"),
+
+ Spec = {'cbft', FtCmd,
+ [
+ "-server=http://127.0.0.1:" ++ integer_to_list(NsRestPort),
+ "-bindHttp=127.0.0.1:" ++ integer_to_list(FtRestPort),
+ "-dataDir=" ++ FtIdxDir
+ ],
+ [use_stdio, exit_status, stderr_to_stdout, stream,
+ {log, ?CBFT_LOG_FILENAME},
+ {env, build_go_env_vars(Config, cbft)}]},
+
+ [Spec].
project tlm/
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d03ed9e..522ad7c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -118,3 +118,5 @@ ADD_SUBDIRECTORY(goproj/src/github.com/couchbase/indexing)
ADD_SUBDIRECTORY(goproj/src/github.com/couchbase/goxdcr)
ADD_SUBDIRECTORY(goproj/src/github.com/couchbase/gometa)
ADD_SUBDIRECTORY(godeps/src/github.com/couchbase/cbauth)
+
+ADD_SUBDIRECTORY(goproj/src/github.com/couchbaselabs/cbft)
Steves-MacBook-Pro:couchbase-server steveyen$
| | | \-+= 41149 steveyen -bash
| | | \-+= 72053 steveyen -bash
| | | \-+- 72054 steveyen python ./cluster_run
| | | \-+= 72057 steveyen /Users/steveyen/dev/couchbase-server/install/lib/erlang/erts-5.10.4.0.0.1/bin/beam.smp -MMmcs30 -A 16 -sbtu -P 327680 -- -root /Users/steveyen/dev/couchbase-
| | | |-+= 72064 steveyen /Users/steveyen/dev/couchbase-server/install/lib/erlang/erts-5.10.4.0.0.1/bin/beam.smp -A 16 -sbt u -P 327680 -K true -swt low -MMmcs 30 -e102400 -- -root
| | | | |--= 72068 steveyen sh -s disksup
| | | | |-+= 72072 steveyen inet_gethost 4
| | | | | \--- 72073 steveyen inet_gethost 4
| | | | |-+= 72074 steveyen /Users/steveyen/dev/couchbase-server/install/lib/erlang/erts-5.10.4.0.0.1/bin/beam.smp -P 327680 -K true -- -root /Users/steveyen/dev/couchbase-server/in
| | | | | |--= 72081 steveyen sh -s disksup
| | | | | \--= 72085 steveyen /Users/steveyen/dev/couchbase-server/install/bin/priv/godu
| | | | |--= 72086 steveyen /Users/steveyen/dev/couchbase-server/install/bin/priv/godu
| | | | \--= 72094 steveyen portsigar for [email protected]
| | | |--= 72093 steveyen /Users/steveyen/dev/couchbase-server/install/bin/saslauthd-port
| | | |-+= 72095 steveyen /Users/steveyen/dev/couchbase-server/install/bin/goport
| | | | \--- 72096 steveyen /Users/steveyen/dev/couchbase-server/install/bin/cbft -server=http://127.0.0.1:9000 -bindHttp=127.0.0.1:9200 -dataDir=/Users/steveyen/work/membase/dev/co
| | | |--= 72097 steveyen /Users/steveyen/dev/couchbase-server/install/bin/memcached -C /Users/steveyen/work/membase/dev/couchbase-server/ns_server/data/n_0/config/memcached.json
| | | \-+= 72098 steveyen /Users/steveyen/dev/couchbase-server/install/bin/goport
| | | \--- 72099 steveyen /Users/steveyen/dev/couchbase-server/install/bin/goxdcr -sourceKVAdminPort=9000 -xdcrRestPort=13000 -isEnterprise=false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment