You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by so...@apache.org on 2017/05/09 19:58:41 UTC
[trafficserver] branch master updated: Remove even more clustering
bits
This is an automated email from the ASF dual-hosted git repository.
sorber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new 17ea1d0 Remove even more clustering bits
17ea1d0 is described below
commit 17ea1d09049d56765cff2d39e2e17a5da92b78a1
Author: Phil Sorber <so...@apache.org>
AuthorDate: Tue May 9 11:45:15 2017 -0600
Remove even more clustering bits
---
INSTALL | 12 -
cmd/traffic_manager/AddConfigFilesHere.cc | 1 -
contrib/python/compare_RecordsConfigcc.py | 1 -
iocore/cache/P_CacheInternal.h | 1 -
iocore/eventsystem/I_Event.h | 1 -
iocore/hostdb/HostDB.cc | 2 +-
iocore/hostdb/P_HostDBProcessor.h | 12 -
iocore/hostdb/include/Machine.h | 115 ------
iocore/net/P_UnixNetState.h | 3 -
lib/perl/lib/Apache/TS/AdminClient.pm | 34 --
lib/records/I_RecDefs.h | 2 +-
lib/records/I_RecEvents.h | 1 -
lib/records/P_RecDefs.h | 6 -
lib/ts/I_Version.h | 2 -
lib/ts/InkErrno.cc | 18 -
lib/ts/InkErrno.h | 10 -
lib/ts/apidefs.h.in | 4 +-
mgmt/RecordsConfig.cc | 12 -
mgmt/api/APITestCliRemote.cc | 141 -------
mgmt/api/CfgContextImpl.cc | 114 ------
mgmt/api/CfgContextImpl.h | 26 --
mgmt/api/CfgContextUtils.cc | 41 +-
mgmt/api/CfgContextUtils.h | 1 -
mgmt/api/EventControlMain.cc | 1 -
mgmt/api/GenericParser.cc | 29 --
mgmt/api/GenericParser.h | 1 -
mgmt/api/INKMgmtAPI.cc | 33 +-
mgmt/api/NetworkMessage.cc | 3 -
mgmt/api/NetworkMessage.h | 1 -
mgmt/api/TSControlMain.cc | 1 -
mgmt/api/include/mgmtapi.h | 18 +-
proxy/Main.h | 3 -
proxy/README-stats.otl | 15 +-
proxy/TestProxy.cc | 427 ---------------------
proxy/TimeTrace.h | 3 -
proxy/api/ts/experimental.h | 143 -------
proxy/config/Makefile.am | 2 -
proxy/config/cluster.config.default | 26 --
proxy/config/metrics.config.default | 326 ----------------
proxy/config/vaddrs.config.default | 22 --
proxy/http/HttpTransact.h | 1 -
proxy/http/README.via | 1 -
proxy/http/TestHttpTransact.cc | 95 -----
proxy/logging/Log.cc | 2 +-
proxy/logging/LogSock.cc | 6 +-
proxy/logging/LogSock.h | 4 +-
tests/getting_started.md | 1 -
.../gold_tests/autest-site/trafficserver.test.ext | 4 -
tools/traffic_shell.pl | 17 -
49 files changed, 19 insertions(+), 1726 deletions(-)
diff --git a/INSTALL b/INSTALL
index 597bb56..2105ea6 100644
--- a/INSTALL
+++ b/INSTALL
@@ -56,18 +56,6 @@ To compile with an alternate set of compilers, e.g. LLVM/Clang
$ ./configure CC=clang CXX=clang++
-INITIAL CONFIGURATION
----------------------
-
-Next set the cluster interface in 'records.config'. The network
-interface name will vary depending on the host operating system.
-
-For example:
- Linux: CONFIG proxy.config.cluster.ethernet_interface STRING eth0
- OS X: CONFIG proxy.config.cluster.ethernet_interface STRING en0
- FreeBSD: CONFIG proxy.config.cluster.ethernet_interface STRING em0
- OpenSolaris: CONFIG proxy.config.cluster.ethernet_interface STRING e1000g0
-
To start the Traffic Server process stack (TC, TM, TS):
$ sudo PREFIX/bin/trafficserver start
diff --git a/cmd/traffic_manager/AddConfigFilesHere.cc b/cmd/traffic_manager/AddConfigFilesHere.cc
index 35fddb0..0bc2bd0 100644
--- a/cmd/traffic_manager/AddConfigFilesHere.cc
+++ b/cmd/traffic_manager/AddConfigFilesHere.cc
@@ -66,7 +66,6 @@ initializeRegistry()
configFiles->addFile("storage.config", false);
configFiles->addFile("socks.config", false);
configFiles->addFile("records.config", false);
- configFiles->addFile("vaddrs.config", false);
configFiles->addFile("cache.config", false);
configFiles->addFile("icp.config", false);
configFiles->addFile("ip_allow.config", false);
diff --git a/contrib/python/compare_RecordsConfigcc.py b/contrib/python/compare_RecordsConfigcc.py
index ae7794d..d0e8b81 100644
--- a/contrib/python/compare_RecordsConfigcc.py
+++ b/contrib/python/compare_RecordsConfigcc.py
@@ -41,7 +41,6 @@ ignore_keys = {
"proxy.config.ssl.client.CA.cert.path": 1,
"proxy.config.config_dir": 1,
"proxy.config.proxy_name": 1,
- "proxy.config.cluster.ethernet_interface": 1,
"proxy.config.ssl.client.private_key.path": 1,
"proxy.config.net.defer_accept": 1 # Specified in RecordsConfig.cc funny
}
diff --git a/iocore/cache/P_CacheInternal.h b/iocore/cache/P_CacheInternal.h
index 8f860a0..a5380b4 100644
--- a/iocore/cache/P_CacheInternal.h
+++ b/iocore/cache/P_CacheInternal.h
@@ -208,7 +208,6 @@ extern int cache_config_agg_write_backlog;
extern int cache_config_enable_checksum;
extern int cache_config_alt_rewrite_max_size;
extern int cache_config_read_while_writer;
-extern int cache_clustering_enabled;
extern int cache_config_agg_write_backlog;
extern int cache_config_ram_cache_compress;
extern int cache_config_ram_cache_compress_percent;
diff --git a/iocore/eventsystem/I_Event.h b/iocore/eventsystem/I_Event.h
index 984f5a2..090c677 100644
--- a/iocore/eventsystem/I_Event.h
+++ b/iocore/eventsystem/I_Event.h
@@ -57,7 +57,6 @@
#define VC_EVENT_EVENTS_START 100
#define NET_EVENT_EVENTS_START 200
#define DISK_EVENT_EVENTS_START 300
-#define CLUSTER_EVENT_EVENTS_START 400
#define HOSTDB_EVENT_EVENTS_START 500
#define DNS_EVENT_EVENTS_START 600
#define CONFIG_EVENT_EVENTS_START 800
diff --git a/iocore/hostdb/HostDB.cc b/iocore/hostdb/HostDB.cc
index d28d760..6f957d9 100644
--- a/iocore/hostdb/HostDB.cc
+++ b/iocore/hostdb/HostDB.cc
@@ -1544,7 +1544,7 @@ HostDBContinuation::probeEvent(int /* event ATS_UNUSED */, Event *e)
// If it suceeds or it was a remote probe, we are done
//
- if (r || from) {
+ if (r) {
hostdb_cont_free(this);
return EVENT_DONE;
}
diff --git a/iocore/hostdb/P_HostDBProcessor.h b/iocore/hostdb/P_HostDBProcessor.h
index f7fbbc6..49d5fea 100644
--- a/iocore/hostdb/P_HostDBProcessor.h
+++ b/iocore/hostdb/P_HostDBProcessor.h
@@ -36,8 +36,6 @@
extern int hostdb_enable;
extern int hostdb_migrate_on_demand;
-extern int hostdb_cluster;
-extern int hostdb_cluster_round_robin;
extern int hostdb_lookup_timeout;
extern int hostdb_insert_timeout;
extern int hostdb_re_dns_on_reload;
@@ -128,16 +126,13 @@ HOSTDB_CLIENT_IP_HASH(sockaddr const *lhs, sockaddr const *rhs)
//
// period to wait for a remote probe...
-#define HOST_DB_CLUSTER_TIMEOUT HRTIME_MSECONDS(5000)
#define HOST_DB_RETRY_PERIOD HRTIME_MSECONDS(20)
#define HOST_DB_ITERATE_PERIOD HRTIME_MSECONDS(5)
//#define TEST(_x) _x
#define TEST(_x)
-struct ClusterMachine;
struct HostEnt;
-struct ClusterConfiguration;
// Stats
enum HostDB_Stats {
@@ -441,12 +436,10 @@ struct HostDBContinuation : public Continuation {
int dns_lookup_timeout;
// INK_MD5 md5;
Event *timeout;
- ClusterMachine *from;
Continuation *from_cont;
HostDBApplicationInfo app;
int probe_depth;
size_t current_iterate_pos;
- ClusterMachine *past_probes[CONFIGURATION_HISTORY_PROBE_DEPTH];
// char name[MAXDNAME];
// int namelen;
char md5_host_name_store[MAXDNAME + 1]; // used as backing store for @a md5
@@ -460,8 +453,6 @@ struct HostDBContinuation : public Continuation {
int probeEvent(int event, Event *e);
int iterateEvent(int event, Event *e);
- int clusterEvent(int event, Event *e);
- int clusterResponseEvent(int event, Event *e);
int dnsEvent(int event, HostEnt *e);
int dnsPendingEvent(int event, Event *e);
int backgroundEvent(int event, Event *e);
@@ -488,8 +479,6 @@ struct HostDBContinuation : public Continuation {
void remove_trigger_pending_dns();
int set_check_pending_dns();
- ClusterMachine *master_machine(ClusterConfiguration *cc);
-
HostDBInfo *insert(unsigned int attl);
/** Optional values for @c init.
@@ -515,7 +504,6 @@ struct HostDBContinuation : public Continuation {
host_res_style(DEFAULT_OPTIONS.host_res_style),
dns_lookup_timeout(DEFAULT_OPTIONS.timeout),
timeout(0),
- from(0),
from_cont(0),
probe_depth(0),
current_iterate_pos(0),
diff --git a/iocore/hostdb/include/Machine.h b/iocore/hostdb/include/Machine.h
deleted file mode 100644
index 7875054..0000000
--- a/iocore/hostdb/include/Machine.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/** @file
-
- A brief file description
-
- @section license License
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
-
-/****************************************************************************
-
- Machine.h
-
-
- ****************************************************************************/
-
-//
-// The Machine is the set of processes which share part of an
-// address space.
-//
-
-#ifndef _Machine_h
-#define _Machine_h
-
-//
-// Timeout the Machine * this amount of time after they
-// fall out of the current configuration that are deleted.
-//
-#define MACHINE_TIMEOUT (HRTIME_DAY * 2)
-
-//
-// This is the time processors should delay before freeing up resouces
-// which are shared with other threads in non-long running operations.
-// For example, a Machine * is returned by the hash and used to do
-// a remote invoke. For the pointer to remain valid (or be recognized as
-// invalid) he resource should not be raclaimed for NO_RACE_DELAY.
-//
-// Long running operations should use more sophisticated synchronization.
-//
-#define NO_RACE_DELAY HRTIME_HOUR // a long long time
-
-//#include "Connection.h"
-
-class ClusterHandler; // Leave this a class - VC++ gets very anal ~SR
-
-struct Machine : Server {
- bool dead;
- char *hostname;
- int hostname_len;
- //
- // The network address of the current machine,
- // stored in network byte order
- //
- unsigned int ip;
- int cluster_port;
-
- Link<Machine> link;
-
- // default for localhost
- Machine(char *hostname = nullptr, unsigned int ip = 0, int acluster_port = 0);
- ~Machine();
-
- // Cluster message protocol version
- uint16_t msg_proto_major;
- uint16_t msg_proto_minor;
-
- // Private data for ClusterProcessor
- //
- ClusterHandler *clusterHandler;
-};
-
-struct MachineListElement {
- unsigned int ip;
- int port;
-};
-
-struct MachineList {
- int n;
- MachineListElement machine[1];
- MachineListElement *
- find(unsigned int ip, int port = 0)
- {
- for (int i = 0; i < n; i++)
- if (machine[i].ip == ip && (!port || machine[i].port == port))
- return &machine[i];
- return nullptr;
- }
-};
-
-void free_Machine(Machine *m);
-
-MachineList *the_cluster_config();
-extern ProxyMutex *the_cluster_config_mutex;
-
-//
-// Private
-//
-extern MachineList *machines_config;
-extern MachineList *cluster_config;
-
-#endif /* _Machine_h */
diff --git a/iocore/net/P_UnixNetState.h b/iocore/net/P_UnixNetState.h
index ca807af..3b9e531 100644
--- a/iocore/net/P_UnixNetState.h
+++ b/iocore/net/P_UnixNetState.h
@@ -32,9 +32,6 @@
This information is private to the Net module. It is only here
because of the the C++ compiler needs it to define NetVConnection.
- Shared with Cluster.cc
-
-
****************************************************************************/
#if !defined(_UnixNetState_h_)
diff --git a/lib/perl/lib/Apache/TS/AdminClient.pm b/lib/perl/lib/Apache/TS/AdminClient.pm
index 70e9514..9676f8d 100644
--- a/lib/perl/lib/Apache/TS/AdminClient.pm
+++ b/lib/perl/lib/Apache/TS/AdminClient.pm
@@ -358,34 +358,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
proxy.config.cache.storage_filename
proxy.config.cache.threads_per_disk
proxy.config.cache.mutex_retry_delay
- proxy.config.cluster.cluster_configuration
- proxy.config.cluster.cluster_load_clear_duration
- proxy.config.cluster.cluster_load_exceed_duration
- proxy.config.cluster.cluster_port
- proxy.config.cluster.delta_thresh
- proxy.config.cluster.enable_monitor
- proxy.config.cluster.ethernet_interface
- proxy.config.cluster.load_compute_interval_msecs
- proxy.config.cluster.load_monitor_enabled
- proxy.config.cluster.log_bogus_mc_msgs
- proxy.config.cluster.mc_group_addr
- proxy.config.cluster.mcport
- proxy.config.cluster.mc_ttl
- proxy.config.cluster.monitor_interval_secs
- proxy.config.cluster.msecs_per_ping_response_bucket
- proxy.config.cluster.peer_timeout
- proxy.config.cluster.periodic_timer_interval_msecs
- proxy.config.cluster.ping_history_buf_length
- proxy.config.cluster.ping_latency_threshold_msecs
- proxy.config.cluster.ping_response_buckets
- proxy.config.cluster.ping_send_interval_msecs
- proxy.config.cluster.receive_buffer_size
- proxy.config.cluster.rpc_cache_cluster
- proxy.config.cluster.rsport
- proxy.config.cluster.send_buffer_size
- proxy.config.cluster.sock_option_flag
- proxy.config.cluster.startup_timeout
- proxy.config.cluster.threads
proxy.config.config_dir
proxy.config.cop.core_signal
proxy.config.cop.linux_min_memfree_kb
@@ -423,8 +395,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
proxy.config.exec_thread.limit
proxy.config.header.parse.no_host_url_redirect
proxy.config.hostdb
- proxy.config.hostdb.cluster
- proxy.config.hostdb.cluster.round_robin
proxy.config.hostdb.fail.timeout
proxy.config.hostdb.filename
proxy.config.hostdb.lookup_timeout
@@ -464,7 +434,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
proxy.config.http.cache.ignore_accept_mismatch
proxy.config.http.cache.ignore_authentication
proxy.config.http.cache.ignore_client_cc_max_age
- proxy.config.http.cache.cluster_cache_local
proxy.config.http.cache.ignore_client_no_cache
proxy.config.http.cache.ignore_server_no_cache
proxy.config.http.cache.ims_on_client_no_cache
@@ -680,9 +649,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
proxy.config.url_remap.filename
proxy.config.url_remap.pristine_host_hdr
proxy.config.url_remap.remap_required
- proxy.config.vmap.addr_file
- proxy.config.vmap.down_up_timeout
- proxy.config.vmap.enabled
=head1 LICENSE
diff --git a/lib/records/I_RecDefs.h b/lib/records/I_RecDefs.h
index d2eb2ed..6d6e422 100644
--- a/lib/records/I_RecDefs.h
+++ b/lib/records/I_RecDefs.h
@@ -125,7 +125,7 @@ enum RecSourceT {
REC_SOURCE_NULL, ///< No source / value not set.
REC_SOURCE_DEFAULT, ///< Built in default.
REC_SOURCE_PLUGIN, ///< Plugin supplied default.
- REC_SOURCE_EXPLICIT, ///< Set by administrator (config file, external API, cluster, etc.)
+ REC_SOURCE_EXPLICIT, ///< Set by administrator (config file, external API, etc.)
REC_SOURCE_ENV ///< Process environment variable.
};
diff --git a/lib/records/I_RecEvents.h b/lib/records/I_RecEvents.h
index 1dedd8b..10cff09 100644
--- a/lib/records/I_RecEvents.h
+++ b/lib/records/I_RecEvents.h
@@ -32,7 +32,6 @@
#define REC_EVENT_CLEAR_STATS 10004
#define REC_EVENT_CONFIG_FILE_UPDATE 10005
#define REC_EVENT_PLUGIN_CONFIG_UPDATE 10006
-#define REC_EVENT_HTTP_CLUSTER_DELTA 10007
#define REC_EVENT_ROLL_LOG_FILES 10008
#define REC_EVENT_LIBRECORDS 10009
#define REC_EVENT_CONFIG_FILE_UPDATE_NO_INC_VERSION 10010
diff --git a/lib/records/P_RecDefs.h b/lib/records/P_RecDefs.h
index a1212e8..9cc53cf 100644
--- a/lib/records/P_RecDefs.h
+++ b/lib/records/P_RecDefs.h
@@ -118,12 +118,6 @@ struct RecRecord {
int rsb_id;
};
-// Used for cluster. TODO: Do we still need this?
-struct RecRecords {
- int num_recs;
- RecRecord *recs;
-};
-
//-------------------------------------------------------------------------
// Message Items
//-------------------------------------------------------------------------
diff --git a/lib/ts/I_Version.h b/lib/ts/I_Version.h
index c28a1b1..9b84973 100644
--- a/lib/ts/I_Version.h
+++ b/lib/ts/I_Version.h
@@ -54,8 +54,6 @@ operator==(VersionNumber const &lhs, VersionNumber const &rhs)
struct Version {
VersionNumber cacheDB;
VersionNumber cacheDir;
- VersionNumber clustering;
- VersionNumber clustering_min;
};
enum ModuleVersion {
diff --git a/lib/ts/InkErrno.cc b/lib/ts/InkErrno.cc
index 33301ce..9e637d4 100644
--- a/lib/ts/InkErrno.cc
+++ b/lib/ts/InkErrno.cc
@@ -45,20 +45,6 @@ InkStrerror(int ink_errno)
return "ESOCK_TIMEOUT";
case ESOCK_NO_SOCK_SERVER_CONN:
return "ESOCK_NO_SOCK_SERVER_CONN";
- case ECLUSTER_NO_VC:
- return "ECLUSTER_NO_VC";
- case ECLUSTER_NO_MACHINE:
- return "ECLUSTER_NO_MACHINE";
- case ECLUSTER_OP_TIMEOUT:
- return "ECLUSTER_OP_TIMEOUT";
- case ECLUSTER_ORB_DATA_READ:
- return "ECLUSTER_ORB_DATA_READ";
- case ECLUSTER_ORB_EIO:
- return "ECLUSTER_ORB_EIO";
- case ECLUSTER_CHANNEL_INUSE:
- return "ECLUSTER_CHANNEL_INUSE";
- case ECLUSTER_NOMORE_CHANNELS:
- return "ECLUSTER_NOMORE_CHANNELS";
case ECACHE_NO_DOC:
return "ECACHE_NO_DOC";
case ECACHE_DOC_BUSY:
@@ -91,10 +77,6 @@ InkStrerror(int ink_errno)
return "ECACHE (unknown)";
}
- if (ink_errno > CLUSTER_ERRNO) {
- return "ECLUSTER (unknown)";
- }
-
if (ink_errno > NET_ERRNO) {
return "ENET (unknown)";
}
diff --git a/lib/ts/InkErrno.h b/lib/ts/InkErrno.h
index 89abedc..b77b33a 100644
--- a/lib/ts/InkErrno.h
+++ b/lib/ts/InkErrno.h
@@ -35,7 +35,6 @@
#define SOCK_ERRNO INK_START_ERRNO
#define NET_ERRNO INK_START_ERRNO + 100
-#define CLUSTER_ERRNO INK_START_ERRNO + 200
#define CACHE_ERRNO INK_START_ERRNO + 400
#define HTTP_ERRNO INK_START_ERRNO + 600
@@ -47,15 +46,6 @@
#define ESOCK_TIMEOUT (SOCK_ERRNO + 1)
#define ESOCK_NO_SOCK_SERVER_CONN (SOCK_ERRNO + 2)
-// Error codes for CLUSTER_EVENT_OPEN_FAILED
-#define ECLUSTER_NO_VC (CLUSTER_ERRNO + 0)
-#define ECLUSTER_NO_MACHINE (CLUSTER_ERRNO + 1)
-#define ECLUSTER_OP_TIMEOUT (CLUSTER_ERRNO + 2)
-#define ECLUSTER_ORB_DATA_READ (CLUSTER_ERRNO + 3)
-#define ECLUSTER_ORB_EIO (CLUSTER_ERRNO + 4)
-#define ECLUSTER_CHANNEL_INUSE (CLUSTER_ERRNO + 5)
-#define ECLUSTER_NOMORE_CHANNELS (CLUSTER_ERRNO + 6)
-
#define ECACHE_NO_DOC (CACHE_ERRNO + 0)
#define ECACHE_DOC_BUSY (CACHE_ERRNO + 1)
#define ECACHE_DIR_BAD (CACHE_ERRNO + 2)
diff --git a/lib/ts/apidefs.h.in b/lib/ts/apidefs.h.in
index 6f3ee68..87c77a6 100644
--- a/lib/ts/apidefs.h.in
+++ b/lib/ts/apidefs.h.in
@@ -577,7 +577,6 @@ typedef enum {
TS_RECORDTYPE_CONFIG = 0x01,
TS_RECORDTYPE_PROCESS = 0x02,
TS_RECORDTYPE_NODE = 0x04,
- TS_RECORDTYPE_CLUSTER = 0x08,
TS_RECORDTYPE_LOCAL = 0x10,
TS_RECORDTYPE_PLUGIN = 0x20,
TS_RECORDTYPE_ALL = 0x3F
@@ -765,7 +764,6 @@ typedef enum {
TS_THREAD_POOL_SSL,
TS_THREAD_POOL_DNS,
TS_THREAD_POOL_REMAP,
- TS_THREAD_POOL_CLUSTER,
TS_THREAD_POOL_UDP
} TSThreadPool;
@@ -813,7 +811,7 @@ typedef enum {
TS_MGMT_SOURCE_NULL, ///< No source / value not found.
TS_MGMT_SOURCE_DEFAULT, ///< Built in core default.
TS_MGMT_SOURCE_PLUGIN, ///< Plugin supplied default.
- TS_MGMT_SOURCE_EXPLICIT, ///< Set by administrator (config file, external API, cluster, etc.)
+ TS_MGMT_SOURCE_EXPLICIT, ///< Set by administrator (config file, external API, etc.)
TS_MGMT_SOURCE_ENV ///< Process environment variable.
} TSMgmtSource;
diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
index 7e151a1..4b2f23e 100644
--- a/mgmt/RecordsConfig.cc
+++ b/mgmt/RecordsConfig.cc
@@ -288,18 +288,6 @@ static const RecordElement RecordsConfig[] =
//##############################################################################
//#
- //# Virtual IP Manager
- //#
- //##############################################################################
- {RECT_CONFIG, "proxy.config.vmap.enabled", RECD_INT, "0", RECU_NULL, RR_NULL, RECC_INT, "[0-1]", RECA_NULL}
- ,
- {RECT_CONFIG, "proxy.config.vmap.addr_file", RECD_STRING, "vaddrs.config", RECU_DYNAMIC, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
- ,
- {RECT_CONFIG, "proxy.config.vmap.down_up_timeout", RECD_INT, "10", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
- ,
-
- //##############################################################################
- //#
//# Alarm Configuration
//#
//##############################################################################
diff --git a/mgmt/api/APITestCliRemote.cc b/mgmt/api/APITestCliRemote.cc
index fae19ed..e3c96e4 100644
--- a/mgmt/api/APITestCliRemote.cc
+++ b/mgmt/api/APITestCliRemote.cc
@@ -60,8 +60,6 @@
* cfg_get:<config-filename>: prints out the rules in confg-filename
* cfg:<config-filename>: switches the position of first and last rule of
* <config-filename>
- * cfg_context: calls all the TSCfgCOntext helper function calls using
- * vaddrs.config
* cfg_socks: does some basic testing of socks.config (reads in file,
* modifies it, eg. add new rules, then commits changes)
*
@@ -762,17 +760,6 @@ print_storage_ele(TSStorageEle *ele)
}
}
-void
-print_vaddrs_ele(TSVirtIpAddrEle *ele)
-{
- if (!ele) {
- printf("can't print ele\n");
- return;
- }
-
- printf("ip=%s, intr=%s, sub_intr=%d\n", ele->ip_addr, ele->intr, ele->sub_intr);
-}
-
//
// print_ele_list
//
@@ -829,9 +816,6 @@ print_ele_list(TSFileNameT file, TSCfgContext ctx)
case TS_FNAME_STORAGE:
print_storage_ele((TSStorageEle *)ele);
break;
- case TS_FNAME_VADDRS:
- print_vaddrs_ele((TSVirtIpAddrEle *)ele);
- break;
default:
printf("[print_ele_list] invalid file type \n");
return;
@@ -1483,8 +1467,6 @@ test_cfg_context_get(char *args)
file = TS_FNAME_STORAGE;
} else if (strcmp(name, "splitdns.config") == 0) {
file = TS_FNAME_SPLIT_DNS;
- } else if (strcmp(name, "vaddrs.config") == 0) {
- file = TS_FNAME_VADDRS;
} else {
TSfree(name);
return;
@@ -1549,8 +1531,6 @@ test_cfg_context_move(char *args)
file = TS_FNAME_STORAGE;
} else if (strcmp(name, "splitdns.config") == 0) {
file = TS_FNAME_SPLIT_DNS;
- } else if (strcmp(name, "vaddrs.config") == 0) {
- file = TS_FNAME_VADDRS;
} else {
TSfree(name);
return;
@@ -1594,125 +1574,6 @@ END:
return;
}
-void
-test_cfg_context_ops()
-{
- // Not used here.
- // TSCfgIterState iter_state;
- // TSCfgEle *cfg_ele;
- TSMgmtError err;
- TSCfgContext ctx;
- TSVirtIpAddrEle *ele;
- int rm_index = 0, i;
- int insert_at;
-
- ctx = TSCfgContextCreate(TS_FNAME_VADDRS);
-
- if (TSCfgContextGet(ctx) != TS_ERR_OKAY) {
- printf("ERROR READING FILE\n");
- }
-
- printf("\nBEFORE CHANGE:\n");
- // print_VirtIpAddr_ele_list(ctx);
-
- int count = TSCfgContextGetCount(ctx);
- printf("# ele's = %d\n", count);
-
- printf("\nShifted all Ele's < %d up\n", rm_index);
- // move all ele's below rm_index up one; this shifts the rm_index ele to
- // bottom of TSCfgContext
- for (i = (rm_index + 1); i < count; i++) {
- err = TSCfgContextMoveEleUp(ctx, i);
- if (err != TS_ERR_OKAY) {
- printf("ERROR moving ele at index %d up \n", i);
- goto END;
- }
- }
- // print_VirtIpAddr_ele_list(ctx);
-
- printf("\nREMOVE LAST ELE (originally the first ele)\n");
- // remove the last ele (which was originally the first ele)
- err = TSCfgContextRemoveEleAt(ctx, (count - 1));
- if (err != TS_ERR_OKAY) {
- printf("ERROR: removing ele at index %d\n", count - 1);
- goto END;
- }
-
- printf("\nRemoving second to last Ele \n");
- err = TSCfgContextRemoveEleAt(ctx, (count - 2));
- if (err != TS_ERR_OKAY) {
- printf("ERROR: removing ele at index %d\n", count - 2);
- goto END;
- }
-
- // append a new ele
- printf("\nappend new ele\n");
- ele = TSVirtIpAddrEleCreate();
- if (ele) {
- ele->ip_addr = TSstrdup("201.201.201.201");
- ele->intr = TSstrdup("appended");
- ele->sub_intr = 201;
- err = TSCfgContextAppendEle(ctx, (TSCfgEle *)ele);
- if (err != TS_ERR_OKAY) {
- printf("ERROR: append ele\n");
- TSVirtIpAddrEleDestroy(ele);
- goto END;
- }
- } else {
- printf("Can't create VirtIpAddrEle\n");
- }
- // print_VirtIpAddr_ele_list(ctx);
-
- insert_at = 1;
- // insert a new ele in insert_at index
- printf("\nINSERT NEW ELE at %d index\n", insert_at);
- ele = TSVirtIpAddrEleCreate();
- if (ele) {
- ele->ip_addr = TSstrdup("101.101.101.101");
- ele->intr = (char *)TSstrdup("inserted");
- ele->sub_intr = 100;
- err = TSCfgContextInsertEleAt(ctx, (TSCfgEle *)ele, insert_at);
- if (err != TS_ERR_OKAY) {
- printf("ERROR: insert ele at index %d\n", insert_at);
- TSVirtIpAddrEleDestroy(ele);
- goto END;
- }
- } else {
- printf("Can't create VirtIpAddrEle\n");
- }
- // print_VirtIpAddr_ele_list(ctx);
-
- printf("\nMove ele at index %d to botoom of list\n", insert_at);
- for (i = insert_at; i < TSCfgContextGetCount(ctx); i++) {
- err = TSCfgContextMoveEleDown(ctx, i);
- if (err != TS_ERR_OKAY) {
- printf("ERROR: moving ele down at index %d\n", i);
- goto END;
- }
- }
- // print_VirtIpAddr_ele_list(ctx);
-
- printf("\nShift all Ele's above last ele down; bottom ele becomes top ele\n");
- count = TSCfgContextGetCount(ctx);
- for (i = count - 2; i >= 0; i--) {
- err = TSCfgContextMoveEleDown(ctx, i);
- if (err != TS_ERR_OKAY) {
- printf("ERROR: moving ele down at index %d\n", i);
- goto END;
- }
- }
- // print_VirtIpAddr_ele_list(ctx);
-
- // commit change
- TSCfgContextCommit(ctx, nullptr, nullptr);
-
- printf("\nAFTER CHANGE:\n");
-// print_VirtIpAddr_ele_list(ctx);
-
-END:
- TSCfgContextDestroy(ctx);
-}
-
/* ------------------------------------------------------------------------
* test_cfg_plugin
* ------------------------------------------------------------------------
@@ -2251,8 +2112,6 @@ runInteractive()
test_cfg_context_get(buf);
} else if (strstr(buf, "cfg:")) {
test_cfg_context_move(buf);
- } else if (strstr(buf, "cfg_context")) {
- test_cfg_context_ops();
} else if (strstr(buf, "cfg_socks")) {
test_cfg_socks();
} else if (strstr(buf, "cfg_plugin")) {
diff --git a/mgmt/api/CfgContextImpl.cc b/mgmt/api/CfgContextImpl.cc
index ac72880..c8191c1 100644
--- a/mgmt/api/CfgContextImpl.cc
+++ b/mgmt/api/CfgContextImpl.cc
@@ -150,9 +150,6 @@ CacheObj::formatEleToRule()
case TS_CACHE_IGNORE_NO_CACHE:
ink_strlcat(buf, "action=ignore-no-cache ", sizeof(buf));
break;
- case TS_CACHE_CLUSTER_CACHE_LOCAL:
- ink_strlcat(buf, "action=cluster-cache-local ", sizeof(buf));
- break;
case TS_CACHE_IGNORE_CLIENT_NO_CACHE:
ink_strlcat(buf, "action=ignore-client-no-cache ", sizeof(buf));
break;
@@ -214,7 +211,6 @@ CacheObj::isValid()
switch (m_ele->cfg_ele.type) {
case TS_CACHE_NEVER:
case TS_CACHE_IGNORE_NO_CACHE:
- case TS_CACHE_CLUSTER_CACHE_LOCAL:
case TS_CACHE_IGNORE_CLIENT_NO_CACHE:
case TS_CACHE_IGNORE_SERVER_NO_CACHE:
case TS_CACHE_AUTH_CONTENT:
@@ -2326,116 +2322,6 @@ StorageObj::getCfgEleCopy()
return (TSCfgEle *)copy_storage_ele(m_ele);
}
-//--------------------------------------------------------------------------
-// VirtIpAddrObj
-//--------------------------------------------------------------------------
-VirtIpAddrObj::VirtIpAddrObj(TSVirtIpAddrEle *ele)
-{
- m_ele = ele;
- m_valid = true;
- m_valid = isValid();
-}
-
-VirtIpAddrObj::VirtIpAddrObj(TokenList *tokens)
-{
- Token *tok;
-
- m_ele = TSVirtIpAddrEleCreate();
- m_ele->cfg_ele.error = TS_ERR_OKAY;
- m_valid = true;
-
- if (!tokens || (tokens->length != 3)) {
- goto FORMAT_ERR;
- }
-
- m_ele->cfg_ele.type = get_rule_type(tokens, TS_FNAME_VADDRS);
- if (m_ele->cfg_ele.type == TS_TYPE_UNDEFINED) {
- goto FORMAT_ERR;
- }
- // IP Address
- tok = tokens->first();
- if (tok->value != nullptr) {
- goto FORMAT_ERR;
- }
- m_ele->ip_addr = string_to_ip_addr(tok->name);
-
- // Device
- tok = tokens->next(tok);
- if (tok->value != nullptr) {
- goto FORMAT_ERR;
- }
- m_ele->intr = ats_strdup(tok->name);
-
- // Subinterface
- tok = tokens->next(tok);
- if (tok->value != nullptr) {
- goto FORMAT_ERR;
- }
- m_ele->sub_intr = ink_atoi(tok->name); // ERROR: can't convert?
-
- return;
-
-FORMAT_ERR:
- m_ele->cfg_ele.error = TS_ERR_INVALID_CONFIG_RULE;
- m_valid = false;
-}
-
-VirtIpAddrObj::~VirtIpAddrObj()
-{
- TSVirtIpAddrEleDestroy(m_ele);
-}
-
-char *
-VirtIpAddrObj::formatEleToRule()
-{
- if (!isValid()) {
- m_ele->cfg_ele.error = TS_ERR_INVALID_CONFIG_RULE;
- return nullptr;
- }
-
- char *ip_str;
- char buf[MAX_RULE_SIZE];
- memset(buf, 0, MAX_RULE_SIZE);
-
- ip_str = ip_addr_to_string(m_ele->ip_addr);
- snprintf(buf, sizeof(buf), "%s %s %d", ip_str, m_ele->intr, m_ele->sub_intr);
- ats_free(ip_str);
-
- return ats_strdup(buf);
-}
-
-bool
-VirtIpAddrObj::isValid()
-{
- if (m_ele->cfg_ele.error != TS_ERR_OKAY) {
- m_valid = false;
- }
-
- if (!ccu_checkIpAddr(m_ele->ip_addr)) {
- m_valid = false;
- }
-
- if (!m_ele->intr) {
- m_valid = false;
- }
-
- if ((m_ele->sub_intr < 1) || (m_ele->sub_intr > 255)) {
- m_valid = false;
- }
-
- if (!m_valid) {
- m_ele->cfg_ele.error = TS_ERR_INVALID_CONFIG_RULE;
- }
-
- return m_valid;
-}
-
-TSCfgEle *
-VirtIpAddrObj::getCfgEleCopy()
-{
- return (TSCfgEle *)copy_virt_ip_addr_ele(m_ele);
-}
-
/*****************************************************************
* CfgContext
*****************************************************************/
diff --git a/mgmt/api/CfgContextImpl.h b/mgmt/api/CfgContextImpl.h
index 0d5ecc5..6a236b5 100644
--- a/mgmt/api/CfgContextImpl.h
+++ b/mgmt/api/CfgContextImpl.h
@@ -411,32 +411,6 @@ private:
TSStorageEle *m_ele;
};
-/* vaddrs.config *******************************************/
-class VirtIpAddrObj : public CfgEleObj
-{
-public:
- VirtIpAddrObj(TSVirtIpAddrEle *ele);
- VirtIpAddrObj(TokenList *tokens);
- ~VirtIpAddrObj();
-
- virtual char *formatEleToRule();
- virtual bool isValid();
- virtual TSCfgEle *getCfgEleCopy();
- virtual TSCfgEle *
- getCfgEle()
- {
- return (TSCfgEle *)m_ele;
- }
- virtual TSRuleTypeT
- getRuleType()
- {
- return m_ele->cfg_ele.type;
- }
-
-private:
- TSVirtIpAddrEle *m_ele;
-};
-
/*****************************************************************
* CfgContext
*****************************************************************/
diff --git a/mgmt/api/CfgContextUtils.cc b/mgmt/api/CfgContextUtils.cc
index 72e7409..a674c0b 100644
--- a/mgmt/api/CfgContextUtils.cc
+++ b/mgmt/api/CfgContextUtils.cc
@@ -1481,8 +1481,6 @@ filename_to_string(TSFileNameT file)
return "splitdns.config";
case TS_FNAME_STORAGE:
return "storage.config";
- case TS_FNAME_VADDRS:
- return "vaddrs.config";
default: /* no such config file */
return nullptr;
}
@@ -1950,7 +1948,6 @@ create_ele_obj_from_rule_node(Rule *rule)
switch (rule_type) {
case TS_CACHE_NEVER: /* all cache rules use same constructor */
case TS_CACHE_IGNORE_NO_CACHE:
- case TS_CACHE_CLUSTER_CACHE_LOCAL:
case TS_CACHE_IGNORE_CLIENT_NO_CACHE:
case TS_CACHE_IGNORE_SERVER_NO_CACHE:
case TS_CACHE_PIN_IN_CACHE:
@@ -1999,9 +1996,6 @@ create_ele_obj_from_rule_node(Rule *rule)
case TS_STORAGE:
ele = (CfgEleObj *)new StorageObj(token_list);
break;
- case TS_VADDRS: /* vaddrs.config */
- ele = (CfgEleObj *)new VirtIpAddrObj(token_list);
- break;
default:
return nullptr; // invalid rule type
}
@@ -2029,9 +2023,8 @@ create_ele_obj_from_ele(TSCfgEle *ele)
}
switch (ele->type) {
- case TS_CACHE_NEVER: /* cache.config */
- case TS_CACHE_IGNORE_NO_CACHE: // fall-through
- case TS_CACHE_CLUSTER_CACHE_LOCAL:
+ case TS_CACHE_NEVER: /* cache.config */
+ case TS_CACHE_IGNORE_NO_CACHE: // fall-through
case TS_CACHE_IGNORE_CLIENT_NO_CACHE: // fall-through
case TS_CACHE_IGNORE_SERVER_NO_CACHE: // fall-through
case TS_CACHE_PIN_IN_CACHE: // fall-through
@@ -2091,9 +2084,6 @@ create_ele_obj_from_ele(TSCfgEle *ele)
ele_obj = (CfgEleObj *)new StorageObj((TSStorageEle *)ele);
break;
- case TS_VADDRS: /* vaddrs.config */
- ele_obj = (CfgEleObj *)new VirtIpAddrObj((TSVirtIpAddrEle *)ele);
- break;
case TS_TYPE_UNDEFINED:
default:
return nullptr; // error
@@ -2129,8 +2119,6 @@ get_rule_type(TokenList *token_list, TSFileNameT file)
return TS_CACHE_NEVER;
} else if (strcmp(tok->value, "ignore-no-cache") == 0) {
return TS_CACHE_IGNORE_NO_CACHE;
- } else if (strcmp(tok->value, "cluster-cache-local") == 0) {
- return TS_CACHE_CLUSTER_CACHE_LOCAL;
} else if (strcmp(tok->value, "ignore-client-no-cache") == 0) {
return TS_CACHE_IGNORE_CLIENT_NO_CACHE;
} else if (strcmp(tok->value, "ignore-server-no-cache") == 0) {
@@ -2210,8 +2198,6 @@ get_rule_type(TokenList *token_list, TSFileNameT file)
case TS_FNAME_STORAGE: /* storage.config */
return TS_STORAGE;
- case TS_FNAME_VADDRS: /* vaddrs.config */
- return TS_VADDRS;
case TS_FNAME_UNDEFINED:
default:
return TS_TYPE_UNDEFINED;
@@ -2769,29 +2755,6 @@ copy_storage_ele(TSStorageEle *ele)
return nele;
}
-TSVirtIpAddrEle *
-copy_virt_ip_addr_ele(TSVirtIpAddrEle *ele)
-{
- TSVirtIpAddrEle *new_ele;
-
- if (!ele) {
- return nullptr;
- }
-
- new_ele = TSVirtIpAddrEleCreate();
- if (!new_ele) {
- return nullptr;
- }
-
- // copy cfg ele
- copy_cfg_ele(&(ele->cfg_ele), &(new_ele->cfg_ele));
- new_ele->ip_addr = ats_strdup(ele->ip_addr);
- new_ele->intr = ats_strdup(ele->intr);
- new_ele->sub_intr = ele->sub_intr;
-
- return new_ele;
-}
-
INKCommentEle *
copy_comment_ele(INKCommentEle *ele)
{
diff --git a/mgmt/api/CfgContextUtils.h b/mgmt/api/CfgContextUtils.h
index f796f53..1c1ab55 100644
--- a/mgmt/api/CfgContextUtils.h
+++ b/mgmt/api/CfgContextUtils.h
@@ -184,7 +184,6 @@ TSRemapEle *copy_remap_ele(TSRemapEle *ele);
TSSocksEle *copy_socks_ele(TSSocksEle *ele);
TSSplitDnsEle *copy_split_dns_ele(TSSplitDnsEle *ele);
TSStorageEle *copy_storage_ele(TSStorageEle *ele);
-TSVirtIpAddrEle *copy_virt_ip_addr_ele(TSVirtIpAddrEle *ele);
INKCommentEle *copy_comment_ele(INKCommentEle *ele);
/***************************************************************************
diff --git a/mgmt/api/EventControlMain.cc b/mgmt/api/EventControlMain.cc
index 645262f..9f3067f 100644
--- a/mgmt/api/EventControlMain.cc
+++ b/mgmt/api/EventControlMain.cc
@@ -540,7 +540,6 @@ static const event_message_handler handlers[] = {
nullptr, // SNAPSHOT_GET_MLT
nullptr, // DIAGS
nullptr, // STATS_RESET_NODE
- nullptr, // STATS_RESET_CLUSTER
nullptr, // STORAGE_DEVICE_CMD_OFFLINE
nullptr, // RECORD_MATCH_GET
nullptr, // LIFECYCLE_MESSAGE
diff --git a/mgmt/api/GenericParser.cc b/mgmt/api/GenericParser.cc
index b0d8fdb..b49a048 100644
--- a/mgmt/api/GenericParser.cc
+++ b/mgmt/api/GenericParser.cc
@@ -220,8 +220,6 @@ Rule::parse(const char *const_rule, TSFileNameT filetype)
return splitdnsParse(rule);
case TS_FNAME_STORAGE: /* storage.config */
return storageParse(rule);
- case TS_FNAME_VADDRS: /* vaddrs.config */
- return vaddrsParse(rule);
default:
return nullptr;
}
@@ -780,31 +778,6 @@ Rule::updateParse(char *rule)
}
/**
- * vaddrsParse
- **/
-TokenList *
-Rule::vaddrsParse(char *rule)
-{
- // ASSUMPTIONS:
- // UNIX: IP_address device subinterface
- // Win: IP_address interface
- Tokenizer ruleTok(" \t");
- ruleTok.Initialize(rule);
- tok_iter_state ruleTok_state;
- const char *tokenStr = ruleTok.iterFirst(&ruleTok_state);
- Token *token;
- TokenList *m_tokenList = new TokenList();
-
- for (; tokenStr; tokenStr = ruleTok.iterNext(&ruleTok_state)) {
- token = new Token();
- token->setName(tokenStr);
- m_tokenList->enqueue(token);
- }
-
- return m_tokenList;
-}
-
-/**
* storageParse
* ------------
* the token value is pathname; if a size is specified, that is stored as
@@ -923,8 +896,6 @@ RuleList::parse(char *fileBuf, const char *filename)
m_filetype = TS_FNAME_SOCKS; /* socks.config */
} else if (strstr(filename, "splitdns.config")) {
m_filetype = TS_FNAME_SPLIT_DNS; /* splitdns.config */
- } else if (strstr(filename, "vaddrs.config")) {
- m_filetype = TS_FNAME_VADDRS; /* vaddrs.config */
} else if (strstr(filename, "plugin.config")) {
m_filetype = TS_FNAME_UNDEFINED; /* plugin.config */
} else if (strstr(filename, "storage.config")) {
diff --git a/mgmt/api/GenericParser.h b/mgmt/api/GenericParser.h
index 6a1954d..2737a9b 100644
--- a/mgmt/api/GenericParser.h
+++ b/mgmt/api/GenericParser.h
@@ -211,7 +211,6 @@ private:
TokenList *socksParse(char *rule);
TokenList *splitdnsParse(char *rule);
TokenList *updateParse(char *rule);
- TokenList *vaddrsParse(char *rule);
TokenList *arm_securityParse(char *rule);
TokenList *hostingParse(char *rule);
TokenList *ip_allowParse(char *rule);
diff --git a/mgmt/api/INKMgmtAPI.cc b/mgmt/api/INKMgmtAPI.cc
index 60566ee..7eac29d 100644
--- a/mgmt/api/INKMgmtAPI.cc
+++ b/mgmt/api/INKMgmtAPI.cc
@@ -902,9 +902,9 @@ TSCacheEleCreate(TSRuleTypeT type)
{
TSCacheEle *ele;
- if (type != TS_CACHE_NEVER && type != TS_CACHE_IGNORE_NO_CACHE && type != TS_CACHE_CLUSTER_CACHE_LOCAL &&
- type != TS_CACHE_IGNORE_CLIENT_NO_CACHE && type != TS_CACHE_IGNORE_SERVER_NO_CACHE && type != TS_CACHE_PIN_IN_CACHE &&
- type != TS_CACHE_REVALIDATE && type != TS_CACHE_TTL_IN_CACHE && type != TS_CACHE_AUTH_CONTENT && type != TS_TYPE_UNDEFINED) {
+ if (type != TS_CACHE_NEVER && type != TS_CACHE_IGNORE_NO_CACHE && type != TS_CACHE_IGNORE_CLIENT_NO_CACHE &&
+ type != TS_CACHE_IGNORE_SERVER_NO_CACHE && type != TS_CACHE_PIN_IN_CACHE && type != TS_CACHE_REVALIDATE &&
+ type != TS_CACHE_TTL_IN_CACHE && type != TS_CACHE_AUTH_CONTENT && type != TS_TYPE_UNDEFINED) {
return nullptr; // invalid type
}
@@ -1306,33 +1306,6 @@ TSStorageEleDestroy(TSStorageEle *ele)
return;
}
-/*-------------------------------------------------------------
- * TSVirtIpAddrEle
- *-------------------------------------------------------------*/
-TSVirtIpAddrEle *
-TSVirtIpAddrEleCreate()
-{
- TSVirtIpAddrEle *ele = (TSVirtIpAddrEle *)ats_malloc(sizeof(TSVirtIpAddrEle));
-
- ele->cfg_ele.type = TS_VADDRS;
- ele->cfg_ele.error = TS_ERR_OKAY;
- ele->intr = nullptr;
- ele->sub_intr = -1;
- ele->ip_addr = TS_INVALID_IP_ADDR;
-
- return ele;
-}
-
-void
-TSVirtIpAddrEleDestroy(TSVirtIpAddrEle *ele)
-{
- if (ele) {
- ats_free(ele->intr);
- ats_free(ele->ip_addr);
- ats_free(ele);
- }
-}
-
/***************************************************************************
* API Core
***************************************************************************/
diff --git a/mgmt/api/NetworkMessage.cc b/mgmt/api/NetworkMessage.cc
index e9ed4a2..198bb4e 100644
--- a/mgmt/api/NetworkMessage.cc
+++ b/mgmt/api/NetworkMessage.cc
@@ -59,7 +59,6 @@ static const struct NetCmdOperation requests[] = {
/* SNAPSHOT_REMOVE */ {2, {MGMT_MARSHALL_INT, MGMT_MARSHALL_STRING}},
/* SNAPSHOT_GET_MLT */ {1, {MGMT_MARSHALL_INT}},
/* STATS_RESET_NODE */ {2, {MGMT_MARSHALL_INT, MGMT_MARSHALL_STRING}},
- /* STATS_RESET_CLUSTER */ {2, {MGMT_MARSHALL_INT, MGMT_MARSHALL_STRING}},
/* STORAGE_DEVICE_CMD_OFFLINE */ {2, {MGMT_MARSHALL_INT, MGMT_MARSHALL_STRING}},
/* RECORD_MATCH_GET */ {2, {MGMT_MARSHALL_INT, MGMT_MARSHALL_STRING}},
/* API_PING */ {2, {MGMT_MARSHALL_INT, MGMT_MARSHALL_INT}},
@@ -91,7 +90,6 @@ static const struct NetCmdOperation responses[] = {
/* SNAPSHOT_REMOVE */ {1, {MGMT_MARSHALL_INT}},
/* SNAPSHOT_GET_MLT */ {2, {MGMT_MARSHALL_INT, MGMT_MARSHALL_STRING}},
/* STATS_RESET_NODE */ {1, {MGMT_MARSHALL_INT}},
- /* STATS_RESET_CLUSTER */ {1, {MGMT_MARSHALL_INT}},
/* STORAGE_DEVICE_CMD_OFFLINE */ {1, {MGMT_MARSHALL_INT}},
/* RECORD_MATCH_GET */
{5, {MGMT_MARSHALL_INT, MGMT_MARSHALL_INT, MGMT_MARSHALL_INT, MGMT_MARSHALL_STRING, MGMT_MARSHALL_DATA}},
@@ -210,7 +208,6 @@ send_mgmt_error(int fd, OpType optype, TSMgmtError error)
case OpType::SNAPSHOT_REMOVE:
case OpType::SNAPSHOT_RESTORE:
case OpType::SNAPSHOT_TAKE:
- case OpType::STATS_RESET_CLUSTER:
case OpType::STATS_RESET_NODE:
case OpType::STORAGE_DEVICE_CMD_OFFLINE:
ink_release_assert(responses[static_cast<unsigned>(optype)].nfields == 1);
diff --git a/mgmt/api/NetworkMessage.h b/mgmt/api/NetworkMessage.h
index 741c160..c8cb9fa 100644
--- a/mgmt/api/NetworkMessage.h
+++ b/mgmt/api/NetworkMessage.h
@@ -53,7 +53,6 @@ enum class OpType : MgmtMarshallInt {
SNAPSHOT_REMOVE,
SNAPSHOT_GET_MLT,
STATS_RESET_NODE,
- STATS_RESET_CLUSTER,
STORAGE_DEVICE_CMD_OFFLINE,
RECORD_MATCH_GET,
API_PING,
diff --git a/mgmt/api/TSControlMain.cc b/mgmt/api/TSControlMain.cc
index f5d3269..6d59afc 100644
--- a/mgmt/api/TSControlMain.cc
+++ b/mgmt/api/TSControlMain.cc
@@ -1138,7 +1138,6 @@ static const control_message_handler handlers[] = {
/* SNAPSHOT_REMOVE */ {MGMT_API_PRIVILEGED, handle_snapshot},
/* SNAPSHOT_GET_MLT */ {0, handle_snapshot_get_mlt},
/* STATS_RESET_NODE */ {MGMT_API_PRIVILEGED, handle_stats_reset},
- /* STATS_RESET_CLUSTER */ {MGMT_API_PRIVILEGED, handle_stats_reset},
/* STORAGE_DEVICE_CMD_OFFLINE */ {MGMT_API_PRIVILEGED, handle_storage_device_cmd_offline},
/* RECORD_MATCH_GET */ {0, handle_record_match},
/* API_PING */ {0, handle_api_ping},
diff --git a/mgmt/api/include/mgmtapi.h b/mgmt/api/include/mgmtapi.h
index 09d08d9..a50ee77 100644
--- a/mgmt/api/include/mgmtapi.h
+++ b/mgmt/api/include/mgmtapi.h
@@ -283,7 +283,6 @@ typedef enum {
TS_FNAME_SOCKS, /* socks.config */
TS_FNAME_SPLIT_DNS, /* splitdns.config */
TS_FNAME_STORAGE, /* storage.config */
- TS_FNAME_VADDRS, /* vaddrs.config */
TS_FNAME_VSCAN, /* vscan.config */
TS_FNAME_VS_TRUSTED_HOST, /* trusted-host.config */
TS_FNAME_VS_EXTENSION, /* extensions.config */
@@ -297,7 +296,6 @@ typedef enum {
typedef enum {
TS_CACHE_NEVER, /* cache.config */
TS_CACHE_IGNORE_NO_CACHE,
- TS_CACHE_CLUSTER_CACHE_LOCAL,
TS_CACHE_IGNORE_CLIENT_NO_CACHE,
TS_CACHE_IGNORE_SERVER_NO_CACHE,
TS_CACHE_PIN_IN_CACHE,
@@ -321,7 +319,6 @@ typedef enum {
TS_SOCKS_MULTIPLE,
TS_SPLIT_DNS, /* splitdns.config */
TS_STORAGE, /* storage.config */
- TS_VADDRS, /* vaddrs.config */
TS_TYPE_UNDEFINED,
TS_TYPE_COMMENT /* for internal use only */
} TSRuleTypeT;
@@ -334,9 +331,8 @@ typedef enum {
} TSInitOptionT;
typedef enum {
- TS_RESTART_OPT_NONE = 0x0,
- TS_RESTART_OPT_CLUSTER = 0x01, /* Restart across the cluster */
- TS_RESTART_OPT_DRAIN = 0x02, /* Wait for traffic to drain before restarting. */
+ TS_RESTART_OPT_NONE = 0x0,
+ TS_RESTART_OPT_DRAIN = 0x02, /* Wait for traffic to drain before restarting. */
} TSRestartOptionT;
/***************************************************************************
@@ -618,14 +614,6 @@ typedef struct {
int size; /* size of the named pathname (in bytes); optional if raw disk partitions */
} TSStorageEle;
-/* vaddrs.config */
-typedef struct {
- TSCfgEle cfg_ele;
- TSIpAddr ip_addr; /* virtual ip address */
- char *intr; /* network interface name (hme0) */
- int sub_intr; /* the sub-interface number; must be between 1 and 255 */
-} TSVirtIpAddrEle;
-
/* rmserver.cfg */
typedef struct {
TSCfgEle cfg_ele;
@@ -772,8 +760,6 @@ tsapi TSSplitDnsEle *TSSplitDnsEleCreate();
tsapi void TSSplitDnsEleDestroy(TSSplitDnsEle *ele);
tsapi TSStorageEle *TSStorageEleCreate();
tsapi void TSStorageEleDestroy(TSStorageEle *ele);
-tsapi TSVirtIpAddrEle *TSVirtIpAddrEleCreate();
-tsapi void TSVirtIpAddrEleDestroy(TSVirtIpAddrEle *ele);
/*--- Ele helper operations -------------------------------------*/
/* TSIsValid: checks if the fields in the ele are all valid
diff --git a/proxy/Main.h b/proxy/Main.h
index b8a00a0..0a76129 100644
--- a/proxy/Main.h
+++ b/proxy/Main.h
@@ -53,13 +53,10 @@ extern int auto_clear_hostdb_flag;
extern int auto_clear_cache_flag;
extern int fds_limit;
extern int debug_level;
-extern char cluster_host[MAXDNAME + 1];
-extern int cluster_port_number;
extern int remote_management_flag;
inkcoreapi extern int qt_accept_file_descriptor;
-inkcoreapi extern int cache_clustering_enabled;
// Debugging Configuration
extern char debug_host[MAXDNAME + 1];
diff --git a/proxy/README-stats.otl b/proxy/README-stats.otl
index 91a7bd3..8064834 100644
--- a/proxy/README-stats.otl
+++ b/proxy/README-stats.otl
@@ -144,8 +144,8 @@ consistency, coupling, clearing and persistence problems.
Brian's Rant:
-------------
In any case, I want to change the stats system once to address all the issues
-of clearing, persistence, monotonicity, coupled computations, cluster
-aggregation, etc. Let's be sure we all understand the design issues and do
+of clearing, persistence, monotonicity, coupled computations,
+etc. Let's be sure we all understand the design issues and do
the right thing one time. We've gone through lots of band-aids in the past
which got us nowhere, so let's get the design right.
---------------------------------------------------------------------------------
@@ -155,8 +155,7 @@ Issues:
2) Persistence
3) Monotonicity
4) Coupled computations
-5) Cluster aggregation
-6) Inconsistencies between related stats
+5) Inconsistencies between related stats
- Want to be able to clear stats
- Do not want to see inconsistencies between stats
@@ -446,14 +445,6 @@ cache hit time
Logging
total logging space used
-
-Cluster
-cluster network utilization %
-
-ICP
-total icp responses
-icp hit rate
-total icp requests
---------------------------------------------------------------------------------
Subject: Re: Simple UI for TS100
Date: Thu, 26 Mar 1998 11:48:15 -0800
diff --git a/proxy/TestProxy.cc b/proxy/TestProxy.cc
deleted file mode 100644
index bff558a..0000000
--- a/proxy/TestProxy.cc
+++ /dev/null
@@ -1,427 +0,0 @@
-/** @file
-
- This file implements the functionality to test the Proxy
-
- @section license License
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
-#include <limits.h>
-#include "Net.h"
-#include "Disk.h"
-#include "Main.h"
-#include "HostDB.h"
-#include "Cluster.h"
-#include "OneWayTunnel.h"
-#include "OneWayMultiTunnel.h"
-#include "Cache.h"
-
-struct TestProxy : Continuation {
- VConnection *vc;
- VConnection *vconnection_vector[2];
- VConnection *remote;
- MIOBuffer *inbuf;
- MIOBuffer *outbuf;
- VIO *clusterOutVIO;
- VIO *inVIO;
- char host[1024], *url, *url_end, amode;
- int port;
- char s[1024];
- ClusterVCToken token;
- OneWayTunnel *tunnel;
- char url_str[1024];
- VConnection *cachefile;
- URL *url_struct;
- HostDBInfo *hostdbinfo;
- CacheObjInfo *objinfo;
- HttpHeader *request_header;
-
- int
- done()
- {
- ink_assert(inbuf);
- if (inbuf)
- free_MIOBuffer(inbuf);
- inbuf = 0;
- if (outbuf)
- free_MIOBuffer(outbuf);
- if (vc)
- vc->do_io(VIO::CLOSE);
- if (remote)
- remote->do_io(VIO::CLOSE);
- if (cachefile)
- cachefile->do_io(VIO::CLOSE);
- if (tunnel)
- delete tunnel;
- delete this;
- return EVENT_DONE;
- }
-
- int
- gets(VIO *vio)
- {
- char *sx = s, *x;
- int t, i;
- for (x = vio->buffer.mbuf->start; *x && x < vio->buffer.mbuf->end; x++) {
- if (x - vio->buffer.mbuf->start > 1023)
- return -1;
- if (*x == '\n')
- break;
- *sx++ = *x;
- }
-
- t = 2;
- for (i = 0; t && s[i]; i++) {
- if (s[i] == ' ')
- --t;
- }
-
- // i = strrchr(s,' ');
-
- if (s[i - 2] == 'X') {
- i -= 2;
- amode = 'x';
- while (s[i] != '\0') {
- s[i] = s[i + 1];
- ++i;
- }
- return x - vio->buffer.mbuf->start - 1;
- }
- return x - vio->buffer.mbuf->start;
- }
-
- int
- startEvent(int event, VIO *vio)
- {
- char *temp;
- if (event != VC_EVENT_READ_READY) {
- printf("TestProxy startEvent error %d %X\n", event, (unsigned int)vio->vc_server);
- return done();
- }
- inVIO = vio;
- vc = (NetVConnection *)vio->vc_server;
- int res = 0;
- char *thost = NULL;
- if ((res = gets(vio))) {
- if (res < 0) {
- printf("TestProxy startEvent line too long\n");
- return done();
- }
- // for (int i = 0; i <= res; i++) fprintf(stderr,"[%c (%d)]\n",s[i],s[i]);
- s[res] = 0;
- if ((res > 0) && (s[res - 1] == '\r'))
- s[res - 1] = 0;
- // printf("got [%s]\n",s);
- if (s[4] == '/') {
- url = s + 5;
- url_end = strchr(url, ' ');
- *url_end = 0;
- SET_HANDLER(fileEvent);
- diskProcessor.open_vc(this, url, O_RDONLY);
- return EVENT_DONE;
- } else
- thost = s + 11; // GET http
- url = strchr(thost, '/'); // done before portStr stompage */
- temp = strchr(thost, ' ');
- ink_assert(temp - thost < 1024);
- ink_strlcpy(url_str, thost, sizeof(url_str));
- if (!url)
- return done();
- char *portStr = strchr(thost, ':');
- *url = 0;
- if (portStr == NULL) {
- port = 80;
- ink_strlcpy(host, thost, sizeof(host));
- } else {
- *portStr = '\0'; /* close off the hostname */
- port = atoi(portStr + 1);
- ink_strlcpy(host, thost, sizeof(host));
- *portStr = ':';
- }
- url_end = strchr(url + 1, ' ');
- SET_HANDLER(dnsEvent);
- *url = '/';
- hostDBProcessor.getbyname(this, host);
- return EVENT_DONE;
- }
- return EVENT_CONT;
- }
-
- int
- clusterOpenEvent(int event, void *data)
- {
- if (event == CLUSTER_EVENT_OPEN_FAILED)
- return done();
- if (event == CLUSTER_EVENT_OPEN) {
- if (!data)
- return done();
- remote = (VConnection *)data;
- clusterOutVIO = remote->do_io(VIO::WRITE, this, INT64_MAX, inbuf);
- ink_assert(clusterOutVIO);
- SET_HANDLER(tunnelEvent);
- tunnel = new OneWayTunnel(remote, vc, this, TUNNEL_TILL_DONE, true, true, true);
- }
- return EVENT_CONT;
- }
-
- int
- clusterEvent(int event, VConnection *data)
- {
- (void)event;
- vc = data;
- if (!vc)
- return done();
- SET_HANDLER(startEvent);
- vc->do_io(VIO::READ, this, INT64_MAX, inbuf);
- return EVENT_CONT;
- }
-
- int
- fileEvent(int event, DiskVConnection *aremote)
- {
- if (event != DISK_EVENT_OPEN) {
- printf("TestProxy fileEvent error %d\n", event);
- return done();
- }
- remote = aremote;
- SET_HANDLER(tunnelEvent);
- tunnel = new OneWayTunnel(remote, vc, this, TUNNEL_TILL_DONE, true, true, true);
- return EVENT_CONT;
- }
-
- int
- dnsEvent(int event, HostDBInfo *info)
- {
- if (!info) {
- printf("TestProxy dnsEvent error %d\n", event);
- return done();
- }
- SET_HANDLER(cacheCheckEvent);
- url_struct = new URL((const char *)url_str, sizeof(url_str), true);
- hostdbinfo = info;
- cacheProcessor.lookup(this, url_struct, false);
- // SET_HANDLER(connectEvent);
- // netProcessor.connect(this,info->ip,port,host);
- return EVENT_DONE;
- }
-
- int
- cacheCheckEvent(int event, void *data)
- {
- if (event == CACHE_EVENT_LOOKUP) {
- if (amode == 'x') {
- cout << "Removing object from the cache\n";
- SET_HANDLER(NULL);
- amode = 0;
- cacheProcessor.remove(&(((CacheObjInfoVector *)data)->data[0]), false);
- return done();
- } else {
- cout << "Serving the object from cache\n";
- SET_HANDLER(cacheReadEvent);
- cacheProcessor.open_read(this, &(((CacheObjInfoVector *)data)->data[0]), false);
- return EVENT_CONT;
- }
- } else if (event == CACHE_EVENT_LOOKUP_FAILED) {
- cout << "Getting the object from origin server\n";
- SET_HANDLER(cacheCreateCacheFileEvent);
- objinfo = new CacheObjInfo;
- request_header = new HttpHeader;
- request_header->m_url = *url_struct;
- objinfo->request = *request_header;
- cacheProcessor.open_write(this, objinfo, false, CACHE_UNKNOWN_SIZE);
- return EVENT_DONE;
- } else {
- printf("TestProxy cacheCheckEvent error %d\n", event);
- return done();
- }
- }
-
- int
- cacheReadEvent(int event, DiskVConnection *aremote)
- {
- if (event != CACHE_EVENT_OPEN_READ) {
- printf("TestProxy cacheReadEvent error %d\n", event);
- return done();
- }
- remote = aremote;
- SET_HANDLER(tunnelEvent);
- new OneWayTunnel(remote, vc, this, TUNNEL_TILL_DONE, true, true, true);
- return EVENT_CONT;
- }
- int
- cacheCreateCacheFileEvent(int event, VConnection *acachefile)
- {
- if (event != CACHE_EVENT_OPEN_WRITE) {
- printf("TestProxy cacheCreateCacheFileEvent error %d\n", event);
- cachefile = 0;
- } else
- cachefile = acachefile;
- SET_HANDLER(cacheSendGetEvent);
- netProcessor.connect(this, hostdbinfo->ip, port, host);
- return EVENT_CONT;
- }
- int
- cacheSendGetEvent(int event, NetVConnection *aremote)
- {
- if (event != NET_EVENT_OPEN) {
- printf("TestProxy cacheSendGetEvent error %d\n", event);
- return done();
- }
- remote = aremote;
- outbuf = new_MIOBuffer();
- SET_HANDLER(cacheTransRemoteToCacheFileEvent);
- // aremote->set_inactivity_timeout(HRTIME_MSECONDS(2000));
- // aremote->set_active_timeout(HRTIME_MSECONDS(60000));
- *url_end = 0;
- sprintf(outbuf->start, "GET %s HTTP/1.0\nHost: %s\n\n", url, host);
- outbuf->fill(strlen(outbuf->start) + 1);
- remote->do_io(VIO::WRITE, this, INT64_MAX, outbuf);
- // printf("sending [%s]\n",outbuf->start);
- return EVENT_CONT;
- }
- int
- cacheTransRemoteToCacheFileEvent(int event, VIO *vio)
- {
- if (event != VC_EVENT_WRITE_READY) {
- printf("TestProxy cacheTransRemoteToCacheFileEvent error %d\n", event);
- return done();
- }
- if (vio->buffer.size())
- return EVENT_CONT;
- SET_HANDLER(tunnelEvent);
- vconnection_vector[0] = vc;
- vconnection_vector[1] = cachefile;
- {
- int n = cachefile ? 2 : 1;
- cachefile = 0;
- new OneWayMultiTunnel(remote, vconnection_vector, n, this, TUNNEL_TILL_DONE, true, true, true);
- }
- return EVENT_DONE;
- }
-
- int
- connectEvent(int event, NetVConnection *aremote)
- {
- if (event != NET_EVENT_OPEN) {
- printf("TestProxy connectEvent error %d\n", event);
- return done();
- }
- remote = aremote;
- outbuf = new_MIOBuffer();
- SET_HANDLER(sendEvent);
- *url_end = 0;
- sprintf(outbuf->start, "GET %s HTTP/1.0\nHost: %s\n\n", url, host);
- outbuf->fill(strlen(outbuf->start) + 1);
- remote->do_io(VIO::WRITE, this, INT64_MAX, outbuf);
- // printf("sending [%s]\n",outbuf->start);
- return EVENT_CONT;
- }
-
- int
- sendEvent(int event, VIO *vio)
- {
- if (event != VC_EVENT_WRITE_READY) {
- printf("TestProxy sendEvent error %d\n", event);
- return done();
- }
- if (vio->buffer.size())
- return EVENT_CONT;
- SET_HANDLER(tunnelEvent);
- clusterOutVIO = (VIO *)-1; // some impossible value
- if (((NetVConnectionBase *)vc)->closed) {
- printf("TestProxy sendEvent unexpected close %X\n", (unsigned int)vc);
- vc = 0;
- return done();
- }
- tunnel = new OneWayTunnel(remote, vc, this, TUNNEL_TILL_DONE, true, true, true);
- return EVENT_DONE;
- }
-
- int
- tunnelEvent(int event, Continuation *cont)
- {
- (void)cont;
- if ((VIO *)cont == clusterOutVIO || (VIO *)cont == inVIO) {
- if (event == VC_EVENT_WRITE_COMPLETE)
- return EVENT_DONE;
- if (event == VC_EVENT_ERROR || event == VC_EVENT_EOS)
- return EVENT_DONE;
- return EVENT_CONT;
- }
- remote = 0;
- vc = 0;
- if (event != VC_EVENT_EOS) {
- printf("TestProxy sendEvent error %d\n", event);
- return done();
- }
- // printf("successful proxy of %s\n",url);
- return done();
- }
-
- TestProxy(MIOBuffer *abuf)
- : Continuation(new_ProxyMutex()),
- vc(0),
- remote(0),
- inbuf(abuf),
- outbuf(0),
- clusterOutVIO(0),
- inVIO(0),
- url(0),
- url_end(0),
- amode(0),
- tunnel(0),
- cachefile(0)
- {
- SET_HANDLER(startEvent);
- }
-};
-
-struct TestAccept : Continuation {
- int
- startEvent(int event, NetVConnection *e)
- {
- if (event == NET_EVENT_ACCEPT) {
- MIOBuffer *buf = new_MIOBuffer();
- e->do_io(VIO::READ, new TestProxy(buf), INT64_MAX, buf);
- } else {
- printf("TestAccept error %d\n", event);
- return EVENT_DONE;
- }
- return EVENT_CONT;
- }
- TestAccept() : Continuation(new_ProxyMutex()) { SET_HANDLER(startEvent); }
-};
-
-void
-redirect_test(Machine *m, void *data, int len)
-{
- (void)m;
- (void)len;
- MIOBuffer *buf = new_MIOBuffer();
- TestProxy *c = new TestProxy(buf);
- SET_CONTINUATION_HANDLER(c, clusterEvent);
- clusterProcessor.connect(c, *(ClusterVCToken *)data);
-}
-
-#ifndef SUB_TEST
-void
-test()
-{
- ptest_ClusterFunction = redirect_test;
- netProcessor.proxy_accept(new TestAccept);
-}
-#endif
diff --git a/proxy/TimeTrace.h b/proxy/TimeTrace.h
index 40bc064..15ad8a3 100644
--- a/proxy/TimeTrace.h
+++ b/proxy/TimeTrace.h
@@ -60,9 +60,6 @@ extern int inmsg_events;
extern int open_delay_time_dist[TIME_DIST_BUCKETS_SIZE];
extern int open_delay_events;
-
-extern int cluster_send_time_dist[TIME_DIST_BUCKETS_SIZE];
-extern int cluster_send_events;
#endif // ENABLE_TIME_TRACE
#ifdef ENABLE_TIME_TRACE
diff --git a/proxy/api/ts/experimental.h b/proxy/api/ts/experimental.h
index c44fb4e..5181d88 100644
--- a/proxy/api/ts/experimental.h
+++ b/proxy/api/ts/experimental.h
@@ -344,149 +344,6 @@ tsapi TSReturnCode TSMgmtConfigIntSet(const char *var_name, TSMgmtInt value);
#define TS_NET_EVENT_DATAGRAM_OPEN TS_EVENT_INTERNAL_211
#define TS_NET_EVENT_DATAGRAM_ERROR TS_EVENT_INTERNAL_212
-/*****************************************************************************
- * Cluster RPC API support *
- *****************************************************************************/
-/*
- * Usage notes:
- * 1) User is responsible for marshalling and unmarshaling data.
- * 2) RPC message incompatiblities due to different plugin versions
- * must be dealt with by the user.
- * 3) Upon receipt of a machine offline, no guarantees are made about
- * messages sent prior to the machine offline.
- * 4) A node transitioning to the online state in an active cluster,
- * is assumed to have no prior knowledge of messages processed in
- * the past.
- * 5) Key point to reiterate, actions taken in the functions specified in
- * TSAddClusterStatusFunction() and TSAddClusterRPCFunction() must
- * be non-blocking (i.e. usage of TSMutexLock() and file i/o is
- * not allowed).
- * 6) TSSendClusterRPC() can only process TSClusterRPCMsg_t generated
- * by TSAllocClusterRPCMsg(). Failure to adhere to this rule will
- * result in heap corruption.
- * 7) Messages sent via TSSendClusterRPC() must be at least 4 bytes in
- * length.
- * 8) The user is not provided with any alignment guarantees on the
- * 'm_data' field in the TSClusterRPCMsg_t returned via
- * TSAllocClusterRPCMsg(). Assume byte alignment.
- * 9) TSSendClusterRPC() interface owns the memory and is responsible
- * for freeing the memory.
- * 10) RPC functions defined via TSAddClusterRPCFunction() own the
- * memory when invoked and are responsible for freeing it via
- * TSFreeRPCMsg().
- */
-#define MAX_CLUSTER_NODES 256
-
-typedef struct TSClusterRPCHandle {
- int opaque[2];
-} TSClusterRPCHandle_t;
-
-typedef int TSClusterStatusHandle_t;
-typedef int TSNodeHandle_t;
-
-typedef struct TSClusterRPCMsg {
- TSClusterRPCHandle_t m_handle;
- char m_data[4];
-} TSClusterRPCMsg_t;
-
-typedef enum {
- NODE_ONLINE = 1,
- NODE_OFFLINE,
-} TSNodeStatus_t;
-
-typedef enum {
- RPC_API_WIRELESS_F01 = 51,
- RPC_API_WIRELESS_F02,
- RPC_API_WIRELESS_F03,
- RPC_API_WIRELESS_F04,
- RPC_API_WIRELESS_F05,
- RPC_API_WIRELESS_F06,
- RPC_API_WIRELESS_F07,
- RPC_API_WIRELESS_F08,
- RPC_API_WIRELESS_F09,
- RPC_API_WIRELESS_F10
-} TSClusterRPCKey_t;
-
-typedef void (*TSClusterRPCFunction)(TSNodeHandle_t *node, TSClusterRPCMsg_t *msg, int msg_data_len);
-typedef void (*TSClusterStatusFunction)(TSNodeHandle_t *node, TSNodeStatus_t s);
-
-/****************************************************************************
- * Subscribe to node up/down status notification. *
- * Return == 0 Success *
- * Return != 0 Failure *
- * contact: OXY, DY
- ****************************************************************************/
-tsapi int TSAddClusterStatusFunction(TSClusterStatusFunction Status_Function, TSMutex m, TSClusterStatusHandle_t *h);
-/****************************************************************************
- * Cancel subscription to node up/down status notification. *
- * Return == 0 Success *
- * Return != 0 Failure *
- * contact: OXY, DY
- ****************************************************************************/
-tsapi int TSDeleteClusterStatusFunction(TSClusterStatusHandle_t *h);
-
-/****************************************************************************
- * Get the struct in_addr associated with the TSNodeHandle_t. *
- * Return == 0 Success *
- * Return != 0 Failure *
- * contact: OXY, DY
- ****************************************************************************/
-tsapi int TSNodeHandleToIPAddr(TSNodeHandle_t *h, struct in_addr *in);
-
-/****************************************************************************
- * Get the TSNodeHandle_t for the local node. *
- * contact: OXY, DY
- ****************************************************************************/
-tsapi void TSGetMyNodeHandle(TSNodeHandle_t *h);
-
-/****************************************************************************
- * Enable node up/down notification for subscription added via *
- * TSAddClusterStatusFunction(). *
- * contact: OXY, DY
- ****************************************************************************/
-tsapi void TSEnableClusterStatusCallout(TSClusterStatusHandle_t *h);
-
-/****************************************************************************
- * Associate the given key with the given RPC function. *
- * Return == 0 Success *
- * Return != 0 Failure *
- * contact: OXY, DY
- ****************************************************************************/
-tsapi int TSAddClusterRPCFunction(TSClusterRPCKey_t k, TSClusterRPCFunction RPC_Function, TSClusterRPCHandle_t *h);
-
-/****************************************************************************
- * Delete the key to function association created via *
- * TSAddClusterRPCFunction(). *
- * Return == 0 Success *
- * Return != 0 Failure *
- * contact: OXY, DY
- ****************************************************************************/
-tsapi int TSDeleteClusterRPCFunction(TSClusterRPCHandle_t *h);
-
-/****************************************************************************
- * Free TSClusterRPCMsg_t received via RPC function *
- * contact: OXY, DY
- ****************************************************************************/
-tsapi void TSFreeRPCMsg(TSClusterRPCMsg_t *msg, int msg_data_len);
-
-/****************************************************************************
- * Allocate TSClusterRPCMsg_t for use in TSSendClusterRPC() *
- * Return != 0 Success *
- * Return == 0 Allocation failed *
- * contact: OXY, DY
- ****************************************************************************/
-tsapi TSClusterRPCMsg_t *TSAllocClusterRPCMsg(TSClusterRPCHandle_t *h, int data_size);
-
-/****************************************************************************
- * Send the RPC message to the specified node. *
- * Cluster frees the given memory on send. *
- * RPC function frees memory on receive. *
- * Return == 0 Success *
- * Return != 0 Failure *
- * contact: OXY, DY
- ****************************************************************************/
-tsapi int TSSendClusterRPC(TSNodeHandle_t *nh, TSClusterRPCMsg_t *msg);
-
/**
* Extended FetchSM's AIPs
*/
diff --git a/proxy/config/Makefile.am b/proxy/config/Makefile.am
index bcf31f5..c84c355 100644
--- a/proxy/config/Makefile.am
+++ b/proxy/config/Makefile.am
@@ -28,7 +28,6 @@ nodist_sysconf_DATA = \
dist_sysconf_DATA = \
cache.config.default \
- cluster.config.default \
congestion.config.default \
hosting.config.default \
ip_allow.config.default \
@@ -41,7 +40,6 @@ dist_sysconf_DATA = \
socks.config.default \
splitdns.config.default \
ssl_multicert.config.default \
- vaddrs.config.default \
volume.config.default
install-exec-hook:
diff --git a/proxy/config/cluster.config.default b/proxy/config/cluster.config.default
deleted file mode 100644
index a9962f8..0000000
--- a/proxy/config/cluster.config.default
+++ /dev/null
@@ -1,26 +0,0 @@
-# Cluster Configuration file
-#
-# This file is machine generated and machine parsed.
-# Please do not change this file by hand.
-#
-# This file designates the machines which make up the cluster
-# proper. Data and load are distributed among these machines.
-#
-############################################################################
-# Number
-# IP:Port
-# ...
-############################################################################
-# Number = { 0, 1 ... } where 0 is a stand-alone proxy
-# IP:Port = IP address: cluster accept port number
-#
-# Example 1: stand-alone proxy
-# 0
-#
-# Example 2: 3 machines
-# 3
-# 127.1.2.3:83
-# 127.1.2.4:83
-# 127.1.2.5:83
-#
-0
diff --git a/proxy/config/metrics.config.default b/proxy/config/metrics.config.default
index fb07dd4..2c2c914 100644
--- a/proxy/config/metrics.config.default
+++ b/proxy/config/metrics.config.default
@@ -7,20 +7,6 @@
-- These are called to set the initial value during XML parsing, so
-- the net effect is to set the value to 'minimum. Since we always
-- zero metrice on creation there's nothing to do there.
---
--- In the cluster-based statistics, the aggregation is further
--- divided into two types: sum and re-calculate. Sum refers calculating
--- the proxy.cluster.* variable by simply summing all required
--- proxy.node.* variables from nodes in the cluster. Re-calculate
--- refers to summing all proxy.nodes.* variables that are used in the
--- process of calculation before performing the calculation. An analogy
--- would be, summing all open connection in the cluster vs. the average
--- hit rate in the cluster.
---
--- The "operation" attribute ends up in StatExprToken::m_sum_var. For "sum"
--- and default, m_sum_var is true. For "sum" operations, the cluster metric
--- don't evaluate expression, then just sum the associated node metric across
--- the cluster.
-- Handling periodic updates.
--
@@ -35,10 +21,6 @@
-- Lua API.
--
--- VALUE metrics.cluster.sum(METRIC)
--- Sum the named METRIC across the cluster. METRIC must be a string naming a node
--- metric since only node metrics are shared across the cluster.
---
-- metrics.now.msec
-- Wall-clock time in milliseconds.
--
@@ -50,23 +32,12 @@
-- registered metric will be periodically recalculated by evaluating the
-- given function.
--
--- The scope of a metric is derived from the name. 'proxy.cluster.*' metrics
--- are placed in CLUSTER scope and 'proxy.node.*' metrics are placed in NODE
--- scope.
---
-- The name of the metric is passed to evaluation function on each invocation.
-- This can be used to greate a unique key for persisting data in global tables.
-- Multiplier to convert seconds to milliseconds
sec_to_msec = 1000
--- Return the sum of the given metric across all cluster nodes. metrics.cluster.sum()
--- will memoize its result so that summing the same value multiple times in the same
--- metrics pass is not too expensive. The metric name should always be a node metric.
-function cluster(name)
- return metrics.cluster.sum(name)
-end
-
-- Convert bytes to megabits.
function mbits(bytes)
return bytes * 8 / 1000000
@@ -176,50 +147,26 @@ counter 'proxy.node.http.user_agents_total_documents_served' [[
return proxy.process.http.incoming_requests
]]
-counter 'proxy.cluster.http.user_agents_total_documents_served' [[
- return cluster('proxy.node.http.user_agents_total_documents_served')
-]]
-
counter 'proxy.node.http.user_agents_total_transactions_count' [[
return proxy.process.http.incoming_requests
]]
-counter 'proxy.cluster.http.user_agents_total_transactions_count' [[
- return cluster('proxy.node.http.user_agents_total_transactions_count')
-]]
-
counter 'proxy.node.http.origin_server_total_transactions_count' [[
return proxy.process.http.outgoing_requests
]]
-counter 'proxy.cluster.http.origin_server_total_transactions_count' [[
- return cluster('proxy.node.http.origin_server_total_transactions_count')
-]]
-
counter 'proxy.node.http.cache_current_connections_count' [[
return proxy.process.http.current_cache_connections
]]
-counter 'proxy.cluster.http.cache_current_connections_count' [[
- return cluster('proxy.node.http.cache_current_connections_count')
-]]
-
counter 'proxy.node.http.user_agent_current_connections_count' [[
return proxy.process.http.current_client_connections
]]
-counter 'proxy.cluster.http.user_agent_current_connections_count' [[
- return cluster('proxy.node.http.user_agent_current_connections_count')
-]]
-
counter 'proxy.node.http.origin_server_current_connections_count' [[
return proxy.process.http.current_server_connections
]]
-counter 'proxy.cluster.http.origin_server_current_connections_count' [[
- return cluster('proxy.node.http.origin_server_current_connections_count')
-]]
-
--
-- Cache metrics.
--
@@ -236,10 +183,6 @@ counter 'proxy.node.dns.total_dns_lookups' [[
return proxy.process.dns.total_dns_lookups
]]
-counter 'proxy.cluster.dns.total_dns_lookups' [[
- return cluster('proxy.node.dns.total_dns_lookups')
-]]
-
--
-- HostDB metrics.
--
@@ -253,14 +196,6 @@ counter 'proxy.node.hostdb.total_hits' [[
]]
--
--- Cluster metrics.
---
-
-integer 'proxy.node.cluster.nodes' [[
- return proxy.process.cluster.nodes
-]]
-
---
-- HTTP Cache.
--
@@ -341,18 +276,10 @@ integer 'proxy.node.http.user_agent_xacts_per_second' [[
)
]]
-integer 'proxy.cluster.http.user_agent_xacts_per_second' [[
- return cluster('proxy.node.http.user_agent_xacts_per_second')
-]]
-
integer 'proxy.node.user_agent_xacts_per_second' [[
return proxy.node.http.user_agent_xacts_per_second
]]
-integer 'proxy.cluster.user_agent_xacts_per_second' [[
- return cluster('proxy.cluster.http.user_agent_xacts_per_second')
-]]
-
counter 'proxy.node.user_agents_total_documents_served' [[
return proxy.node.http.user_agents_total_documents_served
]]
@@ -366,10 +293,6 @@ integer 'proxy.node.dns.lookups_per_second' [[
)
]]
-integer 'proxy.cluster.dns.lookups_per_second' [[
- return cluster('proxy.node.dns.lookups_per_second')
-]]
-
-- StatAggregation::Ag_HostdbHitRate() -->
integer 'proxy.node.hostdb.total_lookups_avg_10s' [[
local self = ...
@@ -379,10 +302,6 @@ integer 'proxy.node.hostdb.total_lookups_avg_10s' [[
end)
]]
-integer 'proxy.cluster.hostdb.total_lookups_avg_10s' [[
- return cluster('proxy.node.hostdb.total_lookups_avg_10s')
-]]
-
integer 'proxy.node.hostdb.total_hits_avg_10s' [[
local self = ...
@@ -391,10 +310,6 @@ integer 'proxy.node.hostdb.total_hits_avg_10s' [[
end)
]]
-integer 'proxy.cluster.hostdb.total_hits_avg_10s' [[
- return cluster('proxy.node.hostdb.total_hits_avg_10s')
-]]
-
float 'proxy.node.hostdb.hit_ratio_avg_10s' [[
local self = ...
@@ -405,16 +320,6 @@ float 'proxy.node.hostdb.hit_ratio_avg_10s' [[
end)
]]
-float 'proxy.cluster.hostdb.hit_ratio_avg_10s' [[
- local self = ...
-
- return interval_of_10s(self, function()
- return
- cluster('proxy.node.hostdb.total_hits_avg_10s') /
- cluster('proxy.node.hostdb.total_lookups_avg_10s')
- end)
-]]
-
float 'proxy.node.hostdb.hit_ratio' [[
return proxy.process.hostdb.total_hits / proxy.process.hostdb.total_lookups
]]
@@ -424,45 +329,21 @@ counter 'proxy.node.http.user_agent_total_request_bytes' [[
proxy.process.http.user_agent_request_header_total_size
]]
-counter 'proxy.cluster.http.user_agent_total_request_bytes' [[
- return cluster('proxy.node.http.user_agent_total_request_bytes')
-]]
-
counter 'proxy.node.http.user_agent_total_response_bytes' [[
return proxy.process.http.user_agent_response_document_total_size +
proxy.process.http.user_agent_response_header_total_size
]]
-counter 'proxy.cluster.http.user_agent_total_response_bytes' [[
- return cluster('proxy.node.http.user_agent_total_response_bytes')
-]]
-
counter 'proxy.node.http.origin_server_total_request_bytes' [[
return proxy.process.http.origin_server_request_document_total_size +
proxy.process.http.origin_server_request_header_total_size
]]
-counter 'proxy.cluster.http.origin_server_total_request_bytes' [[
- return cluster('proxy.node.http.origin_server_total_request_bytes')
-]]
-
counter 'proxy.node.http.origin_server_total_response_bytes' [[
return proxy.process.http.origin_server_response_document_total_size +
proxy.process.http.origin_server_response_header_total_size
]]
-counter 'proxy.cluster.http.origin_server_total_response_bytes' [[
- return cluster('proxy.node.http.origin_server_total_response_bytes')
-]]
-
-counter 'proxy.node.http.parent_proxy_total_request_bytes' [[
- return cluster('proxy.process.http.parent_proxy_request_total_bytes')
-]]
-
-counter 'proxy.node.http.parent_proxy_total_response_bytes' [[
- return cluster('proxy.process.http.parent_proxy_response_total_bytes')
-]]
-
-- Add up the downstream (client <-> proxy) traffic volume.
counter 'proxy.node.user_agent_total_bytes' [[
return proxy.node.http.user_agent_total_request_bytes +
@@ -482,11 +363,6 @@ float 'proxy.node.bandwidth_hit_ratio' [[
/ proxy.node.user_agent_total_bytes
]]
-float 'proxy.cluster.bandwidth_hit_ratio' [[
- return (cluster('proxy.node.user_agent_total_bytes') - cluster('proxy.node.origin_server_total_bytes'))
- / cluster('proxy.node.user_agent_total_bytes')
-]]
-
float 'proxy.node.user_agent_total_bytes_avg_10s' [[
local self = ...
@@ -495,10 +371,6 @@ float 'proxy.node.user_agent_total_bytes_avg_10s' [[
end)
]]
-float 'proxy.cluster.user_agent_total_bytes_avg_10s' [[
- return cluster('proxy.node.user_agent_total_bytes_avg_10s')
-]]
-
float 'proxy.node.origin_server_total_bytes_avg_10s' [[
local self = ...
@@ -507,10 +379,6 @@ float 'proxy.node.origin_server_total_bytes_avg_10s' [[
end)
]]
-float 'proxy.cluster.origin_server_total_bytes_avg_10s' [[
- return cluster('proxy.node.origin_server_total_bytes_avg_10s')
-]]
-
float 'proxy.node.bandwidth_hit_ratio_avg_10s' [[
local self = ...
@@ -522,13 +390,6 @@ float 'proxy.node.bandwidth_hit_ratio_avg_10s' [[
end)
]]
-float 'proxy.cluster.bandwidth_hit_ratio_avg_10s' [[
- return (
- cluster('proxy.node.user_agent_total_bytes_avg_10s') -
- cluster('proxy.node.origin_server_total_bytes_avg_10s')
- ) / cluster('proxy.node.user_agent_total_bytes_avg_10s')
-]]
-
-- StatAggregation::Ag_Throughput()
integer 'proxy.node.http.throughput' [[
local self = ...
@@ -538,18 +399,10 @@ integer 'proxy.node.http.throughput' [[
)
]]
-integer 'proxy.cluster.http.throughput' [[
- return cluster('proxy.cluster.http.throughput')
-]]
-
float 'proxy.node.client_throughput_out' [[
return mbits(proxy.node.http.throughput)
]]
-float 'proxy.cluster.client_throughput_out' [[
- return cluster('proxy.node.client_throughput_out')
-]]
-
-- StatAggregation::Ag_cacheHits()
float 'proxy.node.http.cache_hit_fresh_avg_10s' [[
local self = ...
@@ -639,18 +492,10 @@ float 'proxy.node.cache_total_hits_avg_10s' [[
proxy.node.http.cache_hit_stale_served_avg_10s
]]
-float 'proxy.cluster.cache_total_hits_avg_10s' [[
- return cluster('proxy.node.cache_total_hits_avg_10s')
-]]
-
float 'proxy.node.cache_total_hits_mem_avg_10s' [[
return proxy.node.http.cache_hit_mem_fresh_avg_10s
]]
-float 'proxy.cluster.cache_total_hits_mem_avg_10s' [[
- return cluster('proxy.node.cache_total_hits_mem_avg_10s')
-]]
-
float 'proxy.node.cache_total_misses_avg_10s' [[
return
proxy.node.http.cache_miss_cold_avg_10s +
@@ -660,10 +505,6 @@ float 'proxy.node.cache_total_misses_avg_10s' [[
proxy.node.http.cache_read_error_avg_10s
]]
-float 'proxy.cluster.cache_total_misses_avg_10s' [[
- return cluster('proxy.node.cache_total_misses_avg_10s')
-]]
-
float 'proxy.node.cache_hit_ratio_avg_10s' [[
return
proxy.node.cache_total_hits_avg_10s /
@@ -673,15 +514,6 @@ float 'proxy.node.cache_hit_ratio_avg_10s' [[
)
]]
-float 'proxy.cluster.cache_hit_ratio_avg_10s' [[
- return
- cluster('proxy.node.cache_total_hits_avg_10s') /
- (
- cluster('proxy.node.cache_total_hits_avg_10s') +
- cluster('proxy.node.cache_total_misses_avg_10s')
- )
-]]
-
float 'proxy.node.cache_hit_mem_ratio_avg_10s' [[
return
proxy.node.cache_total_hits_mem_avg_10s /
@@ -691,15 +523,6 @@ float 'proxy.node.cache_hit_mem_ratio_avg_10s' [[
)
]]
-float 'proxy.cluster.cache_hit_mem_ratio_avg_10s' [[
- return
- cluster('proxy.node.cache_total_hits_mem_avg_10s') /
- (
- cluster('proxy.node.cache_total_hits_avg_10s') +
- cluster('proxy.node.cache_total_misses_avg_10s')
- )
-]]
-
counter 'proxy.node.cache_total_hits' [[
return proxy.process.http.cache_hit_fresh +
proxy.process.http.cache_hit_revalidated +
@@ -707,18 +530,10 @@ counter 'proxy.node.cache_total_hits' [[
proxy.process.http.cache_hit_stale_served
]]
-counter 'proxy.cluster.cache_total_hits' [[
- return cluster('proxy.node.cache_total_hits')
-]]
-
counter 'proxy.node.cache_total_hits_mem' [[
return proxy.process.http.cache_hit_mem_fresh
]]
-counter 'proxy.cluster.cache_total_hits_mem' [[
- return cluster('proxy.node.cache_total_hits_mem')
-]]
-
counter 'proxy.node.cache_total_misses' [[
return
proxy.process.http.cache_miss_cold +
@@ -728,15 +543,6 @@ counter 'proxy.node.cache_total_misses' [[
proxy.process.http.cache_read_error
]]
-counter 'proxy.cluster.cache_total_misses' [[
- return
- cluster('proxy.node.http.cache_miss_cold') +
- cluster('proxy.node.http.cache_miss_changed') +
- cluster('proxy.node.http.cache_miss_client_no_cache') +
- cluster('proxy.node.http.cache_miss_ims') +
- cluster('proxy.node.http.cache_read_error')
-]]
-
float 'proxy.node.cache_hit_ratio' [[
return
proxy.node.cache_total_hits /
@@ -746,15 +552,6 @@ float 'proxy.node.cache_hit_ratio' [[
)
]]
-float 'proxy.cluster.cache_hit_ratio' [[
- return
- cluster('proxy.node.cache_total_hits') /
- (
- cluster('proxy.node.cache_total_hits') +
- cluster('proxy.node.cache_total_misses')
- )
-]]
-
float 'proxy.node.cache_hit_mem_ratio' [[
return
proxy.node.cache_total_hits_mem /
@@ -764,15 +561,6 @@ float 'proxy.node.cache_hit_mem_ratio' [[
)
]]
-float 'proxy.cluster.cache_hit_mem_ratio' [[
- return
- cluster('proxy.node.cache_total_hits_mem') /
- (
- cluster('proxy.node.cache_total_hits') +
- cluster('proxy.node.cache_total_misses')
- )
-]]
-
-- StatAggregation::Ag_cachePercent().
integer 'proxy.node.cache.bytes_free' [[
return
@@ -786,12 +574,6 @@ float 'proxy.node.cache.percent_free' [[
proxy.process.cache.bytes_total
]]
-float 'proxy.cluster.cache.percent_free' [[
- return
- cluster('proxy.node.cache.bytes_free') /
- cluster('proxy.node.cache.bytes_total')
-]]
-
-- StatAggregation::Ag_TransactionPercentsAndMeanTimes()
integer 'proxy.node.http.transaction_counts_avg_10s.hit_fresh' [[
@@ -1351,42 +1133,22 @@ integer 'proxy.node.current_client_connections' [[
return proxy.node.http.user_agent_current_connections_count
]]
-integer 'proxy.cluster.current_client_connections' [[
- return cluster('proxy.node.current_client_connections')
-]]
-
integer 'proxy.node.current_server_connections' [[
return
proxy.node.http.origin_server_current_connections_count +
proxy.node.http.current_parent_proxy_connections
]]
-integer 'proxy.cluster.current_server_connections' [[
- return cluster('proxy.node.current_server_connections')
-]]
-
integer 'proxy.node.current_cache_connections' [[
return
proxy.node.http.cache_current_connections_count
]]
-integer 'proxy.cluster.current_cache_connections' [[
- return cluster('proxy.node.current_cache_connections')
-]]
-
integer 'proxy.node.client_throughput_out_kbit' [[
-- Convert Mbit/sec to Kbit/sec.
return proxy.node.client_throughput_out * 1000
]]
-integer 'proxy.cluster.client_throughput_out_kbit' [[
- return cluster('proxy.node.client_throughput_out_kbit')
-]]
-
-float 'proxy.cluster.hostdb.hit_ratio' [[
- return cluster('proxy.node.hostdb.hit_ratio')
-]]
-
integer 'proxy.node.cache.bytes_total_mb' [[
return mbytes(proxy.process.cache.bytes_total)
]]
@@ -1395,171 +1157,83 @@ integer 'proxy.node.cache.bytes_free_mb' [[
return mbytes(proxy.node.cache.bytes_free)
]]
-integer 'proxy.cluster.cache.bytes_free' [[
- return cluster('proxy.cluster.cache.bytes_free')
-]]
-
-integer 'proxy.cluster.cache.bytes_free_mb' [[
- return mbytes(proxy.cluster.cache.bytes_free)
-]]
-
integer 'proxy.node.http.current_parent_proxy_connections' [[
return proxy.process.http.current_parent_proxy_connections
]]
-integer 'proxy.cluster.http.current_parent_proxy_connections' [[
- return cluster('proxy.node.http.current_parent_proxy_connections')
-]]
-
-counter 'proxy.cluster.http.parent_proxy_total_request_bytes' [[
- return cluster('proxy.node.http.parent_proxy_total_request_bytes')
-]]
-
-counter 'proxy.cluster.http.parent_proxy_total_response_bytes' [[
- return cluster('proxy.node.http.parent_proxy_total_response_bytes')
-]]
-
-- Logging.
counter 'proxy.node.log.event_log_access_ok' [[
return proxy.process.log.event_log_access_ok
]]
-counter 'proxy.cluster.log.event_log_access_ok' [[
- return cluster('proxy.node.log.event_log_access_ok')
-]]
-
counter 'proxy.node.log.event_log_access_skip' [[
return proxy.process.log.event_log_access_skip
]]
-counter 'proxy.cluster.log.event_log_access_skip' [[
- return cluster('proxy.node.log.event_log_access_skip')
-]]
-
counter 'proxy.node.log.event_log_access_aggr' [[
return proxy.process.log.event_log_access_aggr
]]
-counter 'proxy.cluster.log.event_log_access_aggr' [[
- return cluster('proxy.node.log.event_log_access_aggr')
-]]
-
counter 'proxy.node.log.event_log_access_full' [[
return proxy.process.log.event_log_access_full
]]
-counter 'proxy.cluster.log.event_log_access_full' [[
- return cluster('proxy.node.log.event_log_access_full')
-]]
-
counter 'proxy.node.log.event_log_access_fail' [[
return proxy.process.log.event_log_access_fail
]]
-counter 'proxy.cluster.log.event_log_access_fail' [[
- return cluster('proxy.node.log.event_log_access_fail')
-]]
-
counter 'proxy.node.log.num_lost_before_sent_to_network' [[
return proxy.process.log.num_lost_before_sent_to_network
]]
-counter 'proxy.cluster.log.num_lost_before_sent_to_network' [[
- return cluster('proxy.node.log.num_lost_before_sent_to_network')
-]]
-
counter 'proxy.node.log.num_sent_to_network' [[
return proxy.process.log.num_sent_to_network
]]
-counter 'proxy.cluster.log.num_sent_to_network' [[
- return cluster('proxy.node.log.num_sent_to_network')
-]]
-
counter 'proxy.node.log.bytes_lost_before_sent_to_network' [[
return proxy.process.log.bytes_lost_before_sent_to_network
]]
-counter 'proxy.cluster.log.bytes_lost_before_sent_to_network' [[
- return cluster('proxy.node.log.bytes_lost_before_sent_to_network')
-]]
-
counter 'proxy.node.log.bytes_sent_to_network' [[
return proxy.process.log.bytes_sent_to_network
]]
-counter 'proxy.cluster.log.bytes_sent_to_network' [[
- return cluster('proxy.node.log.bytes_sent_to_network')
-]]
-
counter 'proxy.node.log.num_received_from_network' [[
return proxy.process.log.num_received_from_network
]]
-counter 'proxy.cluster.log.num_received_from_network' [[
- return cluster('proxy.node.log.num_received_from_network')
-]]
-
counter 'proxy.node.log.bytes_received_from_network' [[
return proxy.process.log.bytes_received_from_network
]]
-counter 'proxy.cluster.log.bytes_received_from_network' [[
- return cluster('proxy.node.log.bytes_received_from_network')
-]]
-
counter 'proxy.node.log.bytes_lost_before_preproc' [[
return proxy.process.log.bytes_lost_before_preproc
]]
-counter 'proxy.cluster.log.bytes_lost_before_preproc' [[
- return cluster('proxy.node.log.bytes_lost_before_preproc')
-]]
-
counter 'proxy.node.log.num_lost_before_flush_to_disk' [[
return proxy.process.log.num_lost_before_flush_to_disk
]]
-counter 'proxy.cluster.log.num_lost_before_flush_to_disk' [[
- return cluster('proxy.node.log.bytes_lost_before_preproc')
-]]
-
counter 'proxy.node.log.bytes_lost_before_flush_to_disk' [[
return proxy.process.log.bytes_lost_before_flush_to_disk
]]
-counter 'proxy.cluster.log.bytes_lost_before_flush_to_disk' [[
- return cluster('proxy.node.log.bytes_lost_before_preproc')
-]]
-
counter 'proxy.node.log.bytes_lost_before_written_to_disk' [[
return proxy.process.log.bytes_lost_before_written_to_disk
]]
-counter 'proxy.cluster.log.bytes_lost_before_written_to_disk' [[
- return cluster('proxy.node.log.bytes_lost_before_written_to_disk')
-]]
-
integer 'proxy.node.log.bytes_sent_to_network_avg_10s' [[
return interval_delta_of_10s(..., function()
return proxy.process.log.bytes_sent_to_network
end)
]]
-integer 'proxy.cluster.log.bytes_sent_to_network_avg_10s' [[
- return cluster('proxy.node.log.bytes_sent_to_network_avg_10s')
-]]
-
integer 'proxy.node.log.bytes_received_from_network_avg_10s' [[
return interval_delta_of_10s(..., function()
return proxy.process.log.bytes_received_from_network
end)
]]
-integer 'proxy.cluster.log.bytes_received_from_network_avg_10s' [[
- return cluster('proxy.node.log.bytes_received_from_network_avg_10s')
-]]
-
counter 'proxy.process.ssl.total_success_handshake_count' [[
return proxy.process.ssl.total_success_handshake_count_in
]]
diff --git a/proxy/config/vaddrs.config.default b/proxy/config/vaddrs.config.default
deleted file mode 100644
index 01233a8..0000000
--- a/proxy/config/vaddrs.config.default
+++ /dev/null
@@ -1,22 +0,0 @@
-# Virtual IP Address Configuration
-#
-# The purpose of this file is to specify virtual IP addresses
-# for Traffic Server. This DOES NOT actually bind to these
-# addresses; ATS either listens to all or the address specified
-# through proxy.local.incoming_ip_to_bind.
-#
-# The vips specified here will be verified and broadcast across
-# the cluster. Any conflicts will be logged as errors.
-#
-# In order to enable these checks you must also set:
-# CONFIG proxy.config.vmap.enabled INT 1
-# In records.conf
-#
-# UNIX
-# Format:
-# <virtual IP address> <interface> <sub-interface>
-#
-# Example:
-# 209.1.33.10 hme0 10
-# 209.1.33.11 hme0 11
-#
diff --git a/proxy/http/HttpTransact.h b/proxy/http/HttpTransact.h
index 5f457bd..809348c 100644
--- a/proxy/http/HttpTransact.h
+++ b/proxy/http/HttpTransact.h
@@ -198,7 +198,6 @@ enum ViaString_t {
// cache type
VIA_DETAIL_CACHE_DESCRIPTOR_STRING = 'c',
VIA_DETAIL_CACHE = 'C',
- VIA_DETAIL_CLUSTER = 'L',
VIA_DETAIL_ICP = 'I',
VIA_DETAIL_PARENT = 'P',
VIA_DETAIL_SERVER = 'S',
diff --git a/proxy/http/README.via b/proxy/http/README.via
index 48860aa..ec635b4 100644
--- a/proxy/http/README.via
+++ b/proxy/http/README.via
@@ -61,7 +61,6 @@
cache type
C cache
- L cluster (not used)
I icp
cache lookup result
diff --git a/proxy/http/TestHttpTransact.cc b/proxy/http/TestHttpTransact.cc
deleted file mode 100644
index 10216ec..0000000
--- a/proxy/http/TestHttpTransact.cc
+++ /dev/null
@@ -1,95 +0,0 @@
-/** @file
-
- A brief file description
-
- @section license License
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
-
-#include "HttpNet.h"
-#include <iostream.h>
-#include "ts/ink_assert.h"
-#include "DebugStream.h"
-#include "IOBuffer.h"
-#include "Main.h"
-#include "Event.h"
-#include "ProtectedQueue.h"
-#include "Cluster.h"
-#include "HttpConfig.h"
-#include "HttpTransact.h"
-
-HttpNetProcessor httpNetProcessor;
-HttpConfigParams httpConfigParams;
-DebugStream debug_out("debug.txt", 1, 1, "DebugStreamLevels.txt", "http.stops");
-
-typedef struct {
- char *accept;
- char *field;
-} AcceptPair;
-
-void
-test()
-{
- float q;
-
- ///// Accept /////
-
- static AcceptPair a1[] = {{"*", "text/html"}, {"image/gif, *; q=.9, text/*; q=.2", "text/html"}, {NULL, NULL}};
-
- fprintf(stderr, "\n*** Testing Accept matching ***\n");
- for (int i = 0; a1[i].accept; i++) {
- q = HttpTransact::CalcQualityOfAcceptMatch(a1[i].accept, a1[i].field);
- fprintf(stderr, "Accept(\"%s\",\"%s\") ==> %g\n", a1[i].accept, a1[i].field, q);
- }
-
- ///// Accept-Charset /////
-
- static AcceptPair a2[] = {{"*", "us-ascii"}, {NULL, NULL}};
-
- fprintf(stderr, "\n*** Testing Accept-Charset matching ***\n");
- for (int i = 0; a2[i].accept; i++) {
- q = HttpTransact::CalcQualityOfAcceptCharsetMatch(a2[i].accept, a2[i].field);
- fprintf(stderr, "Accept-Charset(\"%s\",\"%s\") ==> %g\n", a2[i].accept, a2[i].field, q);
- }
-
- ///// Accept-Encoding /////
-
- static AcceptPair a3[] = {{"*", "gzip"}, {NULL, NULL}};
-
- fprintf(stderr, "\n*** Testing Accept-Encoding matching ***\n");
- for (int i = 0; a3[i].accept; i++) {
- q = HttpTransact::CalcQualityOfAcceptEncodingMatch(a3[i].accept, a3[i].field);
- fprintf(stderr, "Accept-Encoding(\"%s\",\"%s\") ==> %g\n", a3[i].accept, a3[i].field, q);
- }
-
- ///// Accept-Language /////
-
- static AcceptPair a4[] = {{"*", "en"},
- {"*", ""},
- {"fr, en", "en-ebonics"},
- {"fr, en-ebonics", "en-ebonics"},
- {"fr, *;q=.314, en-ebonics", "en-boston"},
- {"fr, *;q=.314, en-ebonics", "en-ebonics-oakland"},
- {NULL, NULL}};
-
- fprintf(stderr, "\n*** Testing Accept-Language matching ***\n");
- for (int i = 0; a4[i].accept; i++) {
- q = HttpTransact::CalcQualityOfAcceptLanguageMatch(a4[i].accept, a4[i].field);
- fprintf(stderr, "Accept-Language(\"%s\",\"%s\") ==> %g\n", a4[i].accept, a4[i].field, q);
- }
-}
diff --git a/proxy/logging/Log.cc b/proxy/logging/Log.cc
index c8e83f3..0f8c26b 100644
--- a/proxy/logging/Log.cc
+++ b/proxy/logging/Log.cc
@@ -1386,7 +1386,7 @@ Log::collate_thread_main(void * /* args ATS_UNUSED */)
// host to account for a reconfiguration.
//
Debug("log-sock", "collation thread starting, creating LogSock");
- sock = new LogSock(LogSock::LS_CONST_CLUSTER_MAX_MACHINES);
+ sock = new LogSock(LogSock::LS_CONST_MAX_CONNS);
ink_assert(sock != nullptr);
if (sock->listen(Log::config->collation_port) != 0) {
diff --git a/proxy/logging/LogSock.cc b/proxy/logging/LogSock.cc
index 27e574a..790c03f 100644
--- a/proxy/logging/LogSock.cc
+++ b/proxy/logging/LogSock.cc
@@ -288,10 +288,10 @@ bool
LogSock::pending_data(int *cid, int timeout_msec, bool include_connects)
{
int start_index, ret, n_poll_fds, i;
- static struct pollfd fds[LS_CONST_CLUSTER_MAX_MACHINES];
- int fd_to_cid[LS_CONST_CLUSTER_MAX_MACHINES];
+ static struct pollfd fds[LS_CONST_MAX_CONNS];
+ int fd_to_cid[LS_CONST_MAX_CONNS];
- ink_assert(m_max_connections <= (LS_CONST_CLUSTER_MAX_MACHINES + 1));
+ ink_assert(m_max_connections <= (LS_CONST_MAX_CONNS + 1));
ink_assert(cid != nullptr);
ink_assert(timeout_msec >= 0);
diff --git a/proxy/logging/LogSock.h b/proxy/logging/LogSock.h
index e92d1b6..6f1a76c 100644
--- a/proxy/logging/LogSock.h
+++ b/proxy/logging/LogSock.h
@@ -37,8 +37,8 @@ class LogSock
{
public:
enum Constant {
- LS_CONST_PACKETSIZE = 1024,
- LS_CONST_CLUSTER_MAX_MACHINES = 256,
+ LS_CONST_PACKETSIZE = 1024,
+ LS_CONST_MAX_CONNS = 256,
};
enum Err {
diff --git a/tests/getting_started.md b/tests/getting_started.md
index 3d36a9d..386268e 100644
--- a/tests/getting_started.md
+++ b/tests/getting_started.md
@@ -96,7 +96,6 @@ A number of file object are define to help with adding values to a given configu
* splitdns.config
* ssl_multicert.config
* storage.config
- * vaddrs.config
* volume.config
#### Examples
diff --git a/tests/gold_tests/autest-site/trafficserver.test.ext b/tests/gold_tests/autest-site/trafficserver.test.ext
index 495f164..1f5a05d 100644
--- a/tests/gold_tests/autest-site/trafficserver.test.ext
+++ b/tests/gold_tests/autest-site/trafficserver.test.ext
@@ -229,10 +229,6 @@ def MakeATSProcess(obj, name, command='traffic_server', select_ports=True):
tmpname = os.path.join(config_dir, fname)
p.Disk.File(tmpname, id=make_id(fname), typename="ats:config")
- fname = "vaddrs.config"
- tmpname = os.path.join(config_dir, fname)
- p.Disk.File(tmpname, id=make_id(fname), typename="ats:config")
-
fname = "volume.config"
tmpname = os.path.join(config_dir, fname)
p.Disk.File(tmpname, id=make_id(fname), typename="ats:config")
diff --git a/tools/traffic_shell.pl b/tools/traffic_shell.pl
index 5054d27..1c31357 100755
--- a/tools/traffic_shell.pl
+++ b/tools/traffic_shell.pl
@@ -218,21 +218,6 @@ __EOL
}
-# Command: show:cluster
-#
-sub show_cluster {
- my $cluster = get_int("proxy.config.cluster.cluster_port");
- my $cluster_rs = get_int("proxy.config.cluster.rsport");
- my $cluster_mc = get_int("proxy.config.cluster.mcport");
-
- print <<__EOF
-Cluster Port ----------- $cluster
-Cluster RS Port -------- $cluster_rs
-Cluster MC Port -------- $cluster_mc
-__EOF
-}
-
-
# Command: show:dns-resolver
#
sub show_dns_resolver {
@@ -661,7 +646,6 @@ Usage: traffic_shell <command> [argument]
show:cache [rules | storage]
show:cache-stats
- show:cluster
show:dns-resolver
show:dns-stats
show:hostdb
@@ -693,7 +677,6 @@ __EOF
my %COMMANDS = ( "show:alarms", \&show_alarms,
"show:cache", \&show_cache,
"show:cache-stats", \&show_cache_stats,
- "show:cluster", \&show_cluster,
"show:dns-resolver", \&show_dns_resolver,
"show:dns-stats", \&show_dns_stats,
"show:hostdb", \&show_hostdb,
--
To stop receiving notification emails like this one, please contact
['"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>'].