You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2022/06/07 16:27:21 UTC

[trafficserver] 02/02: Eliminate duplicate words. (#8870)

This is an automated email from the ASF dual-hosted git repository.

zwoop pushed a commit to branch 9.2.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit eee5f3fa7f058773dfc9ff4f94999905202f07d9
Author: Walt Karas <wk...@verizonmedia.com>
AuthorDate: Tue May 31 09:42:16 2022 -0500

    Eliminate duplicate words. (#8870)
    
    In documentation and code comments and log messages.
    
    Co-authored-by: Walt Karas <wk...@yahooinc.com>
    (cherry picked from commit 99425cbb13728797ecfc4da81011e7773d77cca2)
---
 doc/admin-guide/plugins/icap.en.rst                         | 5 ++++-
 doc/admin-guide/plugins/money_trace.en.rst                  | 2 +-
 doc/admin-guide/plugins/slice.en.rst                        | 2 +-
 doc/admin-guide/security/mtls.en.rst                        | 2 +-
 example/plugins/cpp-api/serverresponse/ServerResponse.cc    | 2 +-
 include/tscore/Throttler.h                                  | 2 +-
 include/tscpp/api/TransactionPlugin.h                       | 2 +-
 include/tscpp/util/ts_meta.h                                | 2 +-
 include/wccp/Wccp.h                                         | 2 +-
 iocore/cache/Cache.cc                                       | 4 ++--
 iocore/cache/CacheDir.cc                                    | 3 +--
 iocore/cache/CacheHosting.cc                                | 2 +-
 iocore/cache/CacheWrite.cc                                  | 2 +-
 iocore/cache/P_CacheDisk.h                                  | 2 +-
 iocore/net/P_SSLNetVConnection.h                            | 2 +-
 iocore/net/P_UnixNetState.h                                 | 2 +-
 iocore/net/P_UnixNetVConnection.h                           | 2 +-
 lib/records/RecMessage.cc                                   | 2 +-
 mgmt/RecordsConfig.cc                                       | 2 +-
 mgmt/api/CoreAPI.cc                                         | 2 +-
 mgmt/api/CoreAPIRemote.cc                                   | 2 +-
 plugins/cache_promote/chance_policy.h                       | 2 +-
 plugins/cache_promote/lru_policy.cc                         | 2 +-
 plugins/cachekey/pattern.cc                                 | 2 +-
 plugins/experimental/access_control/pattern.cc              | 2 +-
 plugins/experimental/parent_select/consistenthash.cc        | 2 +-
 plugins/experimental/parent_select/consistenthash_config.cc | 2 +-
 plugins/prefetch/pattern.cc                                 | 2 +-
 proxy/CacheControl.h                                        | 2 +-
 proxy/ControlMatcher.cc                                     | 2 +-
 proxy/ControlMatcher.h                                      | 2 +-
 proxy/ParentConsistentHash.cc                               | 2 +-
 proxy/ParentSelection.h                                     | 2 +-
 proxy/ParentSelectionStrategy.cc                            | 4 ++--
 proxy/PluginVC.cc                                           | 4 ++--
 proxy/http/HttpSM.cc                                        | 4 ++--
 proxy/http/HttpSessionManager.h                             | 2 +-
 proxy/http/HttpTransact.cc                                  | 9 ++++-----
 proxy/http/HttpTransactHeaders.cc                           | 2 +-
 proxy/http/HttpTunnel.cc                                    | 4 ++--
 proxy/http/remap/NextHopConsistentHash.cc                   | 2 +-
 proxy/http/remap/NextHopStrategyFactory.cc                  | 2 +-
 proxy/http/remap/PluginDso.h                                | 2 +-
 proxy/http/remap/RemapConfig.cc                             | 2 +-
 proxy/http/remap/RemapPlugins.cc                            | 2 +-
 proxy/logging/LogAccess.cc                                  | 4 ++--
 src/wccp/WccpLocal.h                                        | 2 +-
 tools/jtest/jtest.cc                                        | 2 +-
 48 files changed, 60 insertions(+), 59 deletions(-)

diff --git a/doc/admin-guide/plugins/icap.en.rst b/doc/admin-guide/plugins/icap.en.rst
index d3f60326e..a93ba1277 100644
--- a/doc/admin-guide/plugins/icap.en.rst
+++ b/doc/admin-guide/plugins/icap.en.rst
@@ -108,7 +108,10 @@ After finishing sending the message, the plugin will receive the returned messag
    value modified by an ICAP server.
    0
 
-In case of virus detected, the scanner will include fields like "X-Infection-Found" and "X-Violations-Found" in the ICAP response header. Therefore, by evaluating the ICAP header, if infection headers are found, then then plugin will discard the HTTP response header from the origin server and use the HTTP header returned by ICAP server to generate the response header. Otherwise, the file is clean, in which case headers will not be modified. Once finished reading headers, the plugin proce [...]
+In case of virus detected, the scanner will include fields like "X-Infection-Found" and "X-Violations-Found" in the ICAP response header. Therefore, by evaluating the ICAP header,
+if infection headers are found, then plugin will discard the HTTP response header from the origin server and use the HTTP header returned by ICAP server to generate the response
+header. Otherwise, the file is clean, in which case headers will not be modified. Once finished reading headers, the plugin proceeds to read the message body, which is, if file is
+clean, an exact copy of the response from origin server or, if file is bad, an error message generated by scanner server.
 
 Scanner Server
 --------------
diff --git a/doc/admin-guide/plugins/money_trace.en.rst b/doc/admin-guide/plugins/money_trace.en.rst
index 02c63e6ae..bc43af260 100644
--- a/doc/admin-guide/plugins/money_trace.en.rst
+++ b/doc/admin-guide/plugins/money_trace.en.rst
@@ -39,7 +39,7 @@ How it Works
 
 This plugin checks incoming requests for the "X-MoneyTrace" header.
 If the header is not present no further processing takes place.
-However if the header is present,  the plugin will check to to see if the
+However if the header is present,  the plugin will check to see if the
 request has been cached.  If so, the plugin will add the "X-Moneytrace"
 header from the incoming request to the cached response returned to the
 client as required by the money_trace protocol.  If the request has not
diff --git a/doc/admin-guide/plugins/slice.en.rst b/doc/admin-guide/plugins/slice.en.rst
index e47d8e092..b16f338e7 100644
--- a/doc/admin-guide/plugins/slice.en.rst
+++ b/doc/admin-guide/plugins/slice.en.rst
@@ -236,7 +236,7 @@ and sends it to the client.  If necessary it then skips over bytes in the
 first block and starts sending byte content, examining each block header
 and sends its bytes to the client until the client request is satisfied.
 
-Any extra bytes at the end of the last block are consumed by the the
+Any extra bytes at the end of the last block are consumed by the
 Slice plugin to allow cache_range_requests to finish the block fetch to
 ensure the block is cached.
 
diff --git a/doc/admin-guide/security/mtls.en.rst b/doc/admin-guide/security/mtls.en.rst
index 39ffa5870..6dd4bff2f 100644
--- a/doc/admin-guide/security/mtls.en.rst
+++ b/doc/admin-guide/security/mtls.en.rst
@@ -100,7 +100,7 @@ Then you would set :ts:cv:`proxy.config.ssl.CA.cert.filename` to client_CA_bundl
 
 Guidance for testing
 --------------------
-If you use curl to test your SNI-based Traffic Server configuration, you must make sure the the
+If you use curl to test your SNI-based Traffic Server configuration, you must make sure the
 SNI value is really set in the TLS Client Hello message.  If you use the |TS| name or address
 in the URL and explicitly set the host field (as shown below) to indicate the real domain, the
 SNI value will not be set to the host field value.  In the example below the SNI value will
diff --git a/example/plugins/cpp-api/serverresponse/ServerResponse.cc b/example/plugins/cpp-api/serverresponse/ServerResponse.cc
index 5e84febd4..e6ddf0f47 100644
--- a/example/plugins/cpp-api/serverresponse/ServerResponse.cc
+++ b/example/plugins/cpp-api/serverresponse/ServerResponse.cc
@@ -83,7 +83,7 @@ public:
 
     //
     // If the url contains a query parameter redirect=1 we will send the
-    // user to to somewhere else. Obviously this is a silly example
+    // user to somewhere else. Obviously this is a silly example
     // since we should technically detect this long before the origin
     // request and prevent the origin request in the first place.
     //
diff --git a/include/tscore/Throttler.h b/include/tscore/Throttler.h
index 79f466598..997c31986 100644
--- a/include/tscore/Throttler.h
+++ b/include/tscore/Throttler.h
@@ -44,7 +44,7 @@
  *   returned false. The number of times the check has been called between
  *   these two times is provided in the suppressed_count output parameter.
  *
- *   2b. If is_throttled returns returns true, then not enough time has elapsed
+ *   2b. If is_throttled returns true, then not enough time has elapsed
  *   since the last time the operation returned true per the throttling
  *   interval. Thus the operation should be skipped or suppressed, depending
  *   upon the context.
diff --git a/include/tscpp/api/TransactionPlugin.h b/include/tscpp/api/TransactionPlugin.h
index cc3567d4e..bed12ca9f 100644
--- a/include/tscpp/api/TransactionPlugin.h
+++ b/include/tscpp/api/TransactionPlugin.h
@@ -94,7 +94,7 @@ public:
    *  callback, a default implementation will be used that will only resume the Transaction.
    *
    * \note For automatic destruction, you must either register dynamically allocated instances of
-   *  classes derived from this class with the the corresponding Transaction object (using
+   *  classes derived from this class with the corresponding Transaction object (using
    *  Transaction::addPlugin()), or register HOOK_TXN_CLOSE (but not both).
    *
    * @param HookType the type of hook you wish to register
diff --git a/include/tscpp/util/ts_meta.h b/include/tscpp/util/ts_meta.h
index 116650fd9..cd9ada372 100644
--- a/include/tscpp/util/ts_meta.h
+++ b/include/tscpp/util/ts_meta.h
@@ -83,7 +83,7 @@ namespace meta
   };
 
   /** This is the final case - it forces the super class hierarchy.
-   * After defining the cases using the indexed case arguments, this is used to to perform the call.
+   * After defining the cases using the indexed case arguments, this is used to perform the call.
    * To increase the hierarchy depth, change the template argument to a larger number.
    */
   static constexpr CaseTag<9> CaseArg{};
diff --git a/include/wccp/Wccp.h b/include/wccp/Wccp.h
index 468ebbead..531b7738f 100644
--- a/include/wccp/Wccp.h
+++ b/include/wccp/Wccp.h
@@ -177,7 +177,7 @@ public:
   self &setProtocol(uint8_t p); ///< Set protocol field to @a p.
 
   uint32_t getFlags() const;  ///< Get flags field.
-  self &setFlags(uint32_t f); ///< Set the flags flags in field to @a f.
+  self &setFlags(uint32_t f); ///< Set the flags in field to @a f.
   /// Set the flags in the flag field that are set in @a f.
   /// Other flags are unchanged.
   self &enableFlags(uint32_t f);
diff --git a/iocore/cache/Cache.cc b/iocore/cache/Cache.cc
index 25fb72029..d333a16f0 100644
--- a/iocore/cache/Cache.cc
+++ b/iocore/cache/Cache.cc
@@ -2901,7 +2901,7 @@ cplist_reconfigure()
            them equal */
         int64_t size_diff = (cp->disk_vols[disk_no]) ? largest_vol - cp->disk_vols[disk_no]->size : largest_vol;
         size_diff         = (size_diff < size_to_alloc) ? size_diff : size_to_alloc;
-        /* if size_diff == 0, then then the disks have volumes of the
+        /* if size_diff == 0, then the disks have volumes of the
            same sizes, so we don't need to balance the disks */
         if (size_diff == 0) {
           break;
@@ -3249,7 +3249,7 @@ CacheProcessor::open_write(Continuation *cont, int expected_size, const HttpCach
 }
 
 //----------------------------------------------------------------------------
-// Note: this should not be called from from the cluster processor, or bad
+// Note: this should not be called from the cluster processor, or bad
 // recursion could occur. This is merely a convenience wrapper.
 Action *
 CacheProcessor::remove(Continuation *cont, const HttpCacheKey *key, CacheFragType frag_type)
diff --git a/iocore/cache/CacheDir.cc b/iocore/cache/CacheDir.cc
index 8b2d42864..bb029d2f2 100644
--- a/iocore/cache/CacheDir.cc
+++ b/iocore/cache/CacheDir.cc
@@ -1098,8 +1098,7 @@ Lrestart:
       Debug("cache_dir_sync", "sync started");
       /* Don't sync the directory to disk if its not dirty. Syncing the
          clean directory to disk is also the cause of INKqa07151. Increasing
-         the serial serial causes the cache to recover more data
-         than necessary.
+         the serial number causes the cache to recover more data than necessary.
          The dirty bit it set in dir_insert, dir_overwrite and dir_delete_entry
        */
       if (!vol->header->dirty) {
diff --git a/iocore/cache/CacheHosting.cc b/iocore/cache/CacheHosting.cc
index 60cb68909..36e8afd59 100644
--- a/iocore/cache/CacheHosting.cc
+++ b/iocore/cache/CacheHosting.cc
@@ -74,7 +74,7 @@ CacheHostMatcher::PrintFunc(void *opaque_data)
 
 // void CacheHostMatcher::AllocateSpace(int num_entries)
 //
-//  Allocates the the HostLeaf and Data arrays
+//  Allocates the HostLeaf and Data arrays
 //
 void
 CacheHostMatcher::AllocateSpace(int num_entries)
diff --git a/iocore/cache/CacheWrite.cc b/iocore/cache/CacheWrite.cc
index 93c49ae48..b59fe7b66 100644
--- a/iocore/cache/CacheWrite.cc
+++ b/iocore/cache/CacheWrite.cc
@@ -1682,7 +1682,7 @@ CacheVC::openWriteStartBegin(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED
   }
 }
 
-// main entry point for writing of of non-http documents
+// main entry point for writing of non-http documents
 Action *
 Cache::open_write(Continuation *cont, const CacheKey *key, CacheFragType frag_type, int options, time_t apin_in_cache,
                   const char *hostname, int host_len)
diff --git a/iocore/cache/P_CacheDisk.h b/iocore/cache/P_CacheDisk.h
index 18379de9d..134a57231 100644
--- a/iocore/cache/P_CacheDisk.h
+++ b/iocore/cache/P_CacheDisk.h
@@ -46,7 +46,7 @@ struct CacheDisk;
 
 struct DiskVolBlock {
   uint64_t offset; // offset in bytes from the start of the disk
-  uint64_t len;    // length in in store blocks
+  uint64_t len;    // length in store blocks
   int number;
   unsigned int type : 3;
   unsigned int free : 1;
diff --git a/iocore/net/P_SSLNetVConnection.h b/iocore/net/P_SSLNetVConnection.h
index a30406cdd..2fbf51a05 100644
--- a/iocore/net/P_SSLNetVConnection.h
+++ b/iocore/net/P_SSLNetVConnection.h
@@ -323,7 +323,7 @@ public:
   const char *protocol_contains(std::string_view tag) const override;
 
   /**
-   * Populate the current object based on the socket information in in the
+   * Populate the current object based on the socket information in the
    * con parameter and the ssl object in the arg parameter
    * This is logic is invoked when the NetVC object is created in a new thread context
    */
diff --git a/iocore/net/P_UnixNetState.h b/iocore/net/P_UnixNetState.h
index 46fddbc71..d41179f97 100644
--- a/iocore/net/P_UnixNetState.h
+++ b/iocore/net/P_UnixNetState.h
@@ -30,7 +30,7 @@
 
    State information for a particular channel of a NetVConnection
    This information is private to the Net module.   It is only here
-   because of the the C++ compiler needs it to define NetVConnection.
+   because the C++ compiler needs it to define NetVConnection.
 
 
  ****************************************************************************/
diff --git a/iocore/net/P_UnixNetVConnection.h b/iocore/net/P_UnixNetVConnection.h
index 65e763f98..135ecbc06 100644
--- a/iocore/net/P_UnixNetVConnection.h
+++ b/iocore/net/P_UnixNetVConnection.h
@@ -252,7 +252,7 @@ public:
   int mainEvent(int event, Event *e);
   virtual int connectUp(EThread *t, int fd);
   /**
-   * Populate the current object based on the socket information in in the
+   * Populate the current object based on the socket information in the
    * con parameter.
    * This is logic is invoked when the NetVC object is created in a new thread context
    */
diff --git a/lib/records/RecMessage.cc b/lib/records/RecMessage.cc
index b16c40c67..b51aa4d59 100644
--- a/lib/records/RecMessage.cc
+++ b/lib/records/RecMessage.cc
@@ -196,7 +196,7 @@ RecMessageUnmarshalNext(RecMessage *msg, RecMessageItr *itr, RecRecord **record)
 
   ink_assert(eh->magic == REC_MESSAGE_ELE_MAGIC);
 
-  // If the file is corrupt, ignore the the rest of the file.
+  // If the file is corrupt, ignore the rest of the file.
   if (eh->magic != REC_MESSAGE_ELE_MAGIC) {
     Warning("Persistent statistics file records.stat is corrupted. Ignoring the rest of the file\n");
     return REC_ERR_FAIL;
diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
index 13494430a..dc23abaa8 100644
--- a/mgmt/RecordsConfig.cc
+++ b/mgmt/RecordsConfig.cc
@@ -624,7 +624,7 @@ static const RecordElement RecordsConfig[] =
   ,
   //       #  when_to_revalidate has 4 options:
   //       #
-  //       #  0 - default. use use cache directives or heuristic
+  //       #  0 - default. use cache directives or heuristic
   //       #  1 - stale if heuristic
   //       #  2 - always stale (always revalidate)
   //       #  3 - never stale
diff --git a/mgmt/api/CoreAPI.cc b/mgmt/api/CoreAPI.cc
index c9b19e0d7..35cd82677 100644
--- a/mgmt/api/CoreAPI.cc
+++ b/mgmt/api/CoreAPI.cc
@@ -856,7 +856,7 @@ EventIsActive(const char *event_name, bool *is_current)
  * only allow registering callbacks for general alarms.
  * Mimic remote side and have a separate structure (eg. hashtable) of
  * event callback functions for each type of event. The functions are also
- * stored in the the hashtable, not in the TM alarm processor model
+ * stored in the hashtable, not in the TM alarm processor model
  */
 TSMgmtError
 EventSignalCbRegister(const char *event_name, TSEventSignalFunc func, void *data)
diff --git a/mgmt/api/CoreAPIRemote.cc b/mgmt/api/CoreAPIRemote.cc
index eeb159085..28a905046 100644
--- a/mgmt/api/CoreAPIRemote.cc
+++ b/mgmt/api/CoreAPIRemote.cc
@@ -999,7 +999,7 @@ EventSignalCbRegister(const char *event_name, TSEventSignalFunc func, void *data
  * Removes the callback function from the remote side callback table.
  * After removing the callback function, needs to check which events now
  * no longer have any callbacks registered at all; sends an unregister callback
- * notification to TM so that TM knows that that event doesn't have any
+ * notification to TM so that TM knows that event doesn't have any
  * remote callbacks registered for it
  * Input: event_name - the event to unregister the callback from; if NULL,
  *                     unregisters the specified func from all events
diff --git a/plugins/cache_promote/chance_policy.h b/plugins/cache_promote/chance_policy.h
index d7b45a368..8c43f454c 100644
--- a/plugins/cache_promote/chance_policy.h
+++ b/plugins/cache_promote/chance_policy.h
@@ -57,7 +57,7 @@ public:
     };
 
     if (nullptr == remap_id) {
-      TSError("[%s] no remap identifier specified for for stats, no stats will be used", PLUGIN_NAME);
+      TSError("[%s] no remap identifier specified for stats, no stats will be used", PLUGIN_NAME);
       return false;
     }
 
diff --git a/plugins/cache_promote/lru_policy.cc b/plugins/cache_promote/lru_policy.cc
index 4b16272bb..f52540938 100644
--- a/plugins/cache_promote/lru_policy.cc
+++ b/plugins/cache_promote/lru_policy.cc
@@ -266,7 +266,7 @@ LRUPolicy::stats_add(const char *remap_id)
   };
 
   if (nullptr == remap_id) {
-    TSError("[%s] no remap identifier specified for for stats, no stats will be used", PLUGIN_NAME);
+    TSError("[%s] no remap identifier specified for stats, no stats will be used", PLUGIN_NAME);
     return false;
   }
 
diff --git a/plugins/cachekey/pattern.cc b/plugins/cachekey/pattern.cc
index c93490291..3e750b442 100644
--- a/plugins/cachekey/pattern.cc
+++ b/plugins/cachekey/pattern.cc
@@ -198,7 +198,7 @@ Pattern::process(const String &subject, StringVector &result)
 }
 
 /**
- * @brief PCRE matches a subject string against the the regex pattern.
+ * @brief PCRE matches a subject string against the regex pattern.
  * @param subject PCRE subject
  * @return true - matched, false - did not.
  */
diff --git a/plugins/experimental/access_control/pattern.cc b/plugins/experimental/access_control/pattern.cc
index fc9b4e9a5..0a1210d5b 100644
--- a/plugins/experimental/access_control/pattern.cc
+++ b/plugins/experimental/access_control/pattern.cc
@@ -207,7 +207,7 @@ Pattern::process(const String &subject, StringVector &result)
 }
 
 /**
- * @brief PCRE matches a subject string against the the regex pattern.
+ * @brief PCRE matches a subject string against the regex pattern.
  * @param subject PCRE subject
  * @return true - matched, false - did not.
  */
diff --git a/plugins/experimental/parent_select/consistenthash.cc b/plugins/experimental/parent_select/consistenthash.cc
index 3eeac4461..f2f8587ea 100644
--- a/plugins/experimental/parent_select/consistenthash.cc
+++ b/plugins/experimental/parent_select/consistenthash.cc
@@ -513,7 +513,7 @@ PLNextHopConsistentHash::next(TSHttpTxn txnp, void *strategyTxn, const char *exc
           break;
         }
       }
-      // try other rings per per the ring mode
+      // try other rings per the ring mode
       switch (ring_mode) {
       case PL_NH_ALTERNATE_RING:
         if (pRec && groups > 0) {
diff --git a/plugins/experimental/parent_select/consistenthash_config.cc b/plugins/experimental/parent_select/consistenthash_config.cc
index 825b1e15b..d33489694 100644
--- a/plugins/experimental/parent_select/consistenthash_config.cc
+++ b/plugins/experimental/parent_select/consistenthash_config.cc
@@ -171,7 +171,7 @@ createStrategiesFromFile(const char *file)
 
 /*
  * loads the contents of a file into a std::stringstream document.  If the file has a '#include file'
- * directive, that 'file' is read into the document beginning at the the point where the
+ * directive, that 'file' is read into the document beginning at the point where the
  * '#include' was found. This allows the 'strategy' and 'hosts' yaml files to be separate.  The
  * 'strategy' yaml file would then normally have the '#include hosts.yml' in it's beginning.
  */
diff --git a/plugins/prefetch/pattern.cc b/plugins/prefetch/pattern.cc
index aa087d5d0..b61d37eb8 100644
--- a/plugins/prefetch/pattern.cc
+++ b/plugins/prefetch/pattern.cc
@@ -197,7 +197,7 @@ Pattern::process(const String &subject, StringVector &result)
 }
 
 /**
- * @brief PCRE matches a subject string against the the regex pattern.
+ * @brief PCRE matches a subject string against the regex pattern.
  * @param subject PCRE subject
  * @return true - matched, false - did not.
  */
diff --git a/proxy/CacheControl.h b/proxy/CacheControl.h
index 8473e0942..adcd6ddba 100644
--- a/proxy/CacheControl.h
+++ b/proxy/CacheControl.h
@@ -84,7 +84,7 @@ public:
   //    on which a parameter was set
   //   Used to tell if a parameter needs to
   //    be overridden by something that appeared
-  //    earlier in the the config file
+  //    earlier in the config file
   //
   int reval_line         = -1;
   int never_line         = -1;
diff --git a/proxy/ControlMatcher.cc b/proxy/ControlMatcher.cc
index 95d7ede4c..f5a3c603d 100644
--- a/proxy/ControlMatcher.cc
+++ b/proxy/ControlMatcher.cc
@@ -127,7 +127,7 @@ HostMatcher<Data, MatchResult>::PrintFunc(void *opaque_data)
 
 // void HostMatcher<Data,MatchResult>::AllocateSpace(int num_entries)
 //
-//  Allocates the the HostLeaf and Data arrays
+//  Allocates the HostLeaf and Data arrays
 //
 template <class Data, class MatchResult>
 void
diff --git a/proxy/ControlMatcher.h b/proxy/ControlMatcher.h
index 1e578ca32..6c1d36244 100644
--- a/proxy/ControlMatcher.h
+++ b/proxy/ControlMatcher.h
@@ -69,7 +69,7 @@
  *   ip table - supports ip ranges.  A single ip address is treated as
  *       a range with the same beginning and end address.  The table is
  *       is divided up into a fixed number of  levels, indexed 8 bit
- *       boundaries, starting at the the high bit of the address.  Subsequent
+ *       boundaries, starting at the high bit of the address.  Subsequent
  *       levels are allocated only when needed.
  *
  ****************************************************************************/
diff --git a/proxy/ParentConsistentHash.cc b/proxy/ParentConsistentHash.cc
index 91f0a3013..59e2b84a0 100644
--- a/proxy/ParentConsistentHash.cc
+++ b/proxy/ParentConsistentHash.cc
@@ -368,7 +368,7 @@ ParentConsistentHash::markParentUp(ParentResult *result)
 {
   pRecord *pRec;
 
-  //  Make sure that we are being called back with with a
+  //  Make sure that we are being called back with a
   //   result structure with a parent that is being retried
   ink_release_assert(result->retry == true);
   ink_assert(result->result == PARENT_SPECIFIED);
diff --git a/proxy/ParentSelection.h b/proxy/ParentSelection.h
index ebcff39ab..add3845dc 100644
--- a/proxy/ParentSelection.h
+++ b/proxy/ParentSelection.h
@@ -177,7 +177,7 @@ public:
 //   between HttpTransact & the parent selection code.  The following
 ParentRecord *const extApiRecord = (ParentRecord *)0xeeeeffff;
 
-// used here to to set the number of ATSConsistentHashIter's
+// used here to set the number of ATSConsistentHashIter's
 // used in NextHopSelectionStrategy to limit the host group
 // size as well, group size is one to one with the number of rings
 constexpr const uint32_t MAX_GROUP_RINGS = 5;
diff --git a/proxy/ParentSelectionStrategy.cc b/proxy/ParentSelectionStrategy.cc
index f3101ccc0..0ad9a4c10 100644
--- a/proxy/ParentSelectionStrategy.cc
+++ b/proxy/ParentSelectionStrategy.cc
@@ -30,7 +30,7 @@ ParentSelectionStrategy::markParentDown(ParentResult *result, unsigned int fail_
   pRecord *pRec, *parents = result->rec->selection_strategy->getParents(result);
   int new_fail_count = 0;
 
-  //  Make sure that we are being called back with with a
+  //  Make sure that we are being called back with a
   //   result structure with a parent
   ink_assert(result->result == PARENT_SPECIFIED);
   if (result->result != PARENT_SPECIFIED) {
@@ -102,7 +102,7 @@ ParentSelectionStrategy::markParentUp(ParentResult *result)
   pRecord *pRec, *parents = result->rec->selection_strategy->getParents(result);
   int num_parents = result->rec->selection_strategy->numParents(result);
 
-  //  Make sure that we are being called back with with a
+  //  Make sure that we are being called back with a
   //   result structure with a parent that is being retried
   ink_release_assert(result->retry == true);
   ink_assert(result->result == PARENT_SPECIFIED);
diff --git a/proxy/PluginVC.cc b/proxy/PluginVC.cc
index 87a8fe817..e64d59f68 100644
--- a/proxy/PluginVC.cc
+++ b/proxy/PluginVC.cc
@@ -502,7 +502,7 @@ PluginVC::process_write_side(bool other_side_call)
   if (act_on <= 0) {
     if (ntodo > 0) {
       // Notify the continuation that we are "disabling"
-      //  ourselves due to to nothing to write
+      //  ourselves due to nothing to write
       write_state.vio.cont->handleEvent(VC_EVENT_WRITE_READY, &write_state.vio);
     }
     return;
@@ -700,7 +700,7 @@ PluginVC::process_read_side(bool other_side_call)
 //   This function may only be called while holding
 //      this->mutex
 //
-//   Tries to close the and dealloc the the vc
+//   Tries to close the and dealloc the vc
 //
 void
 PluginVC::process_close()
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index e03144c86..010f5c5df 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -1365,7 +1365,7 @@ HttpSM::state_common_wait_for_transform_read(HttpTransformInfo *t_info, HttpSMHa
 
   switch (event) {
   case HTTP_TUNNEL_EVENT_DONE:
-    // There are three reasons why the the tunnel could signal completed
+    // There are three reasons why the tunnel could signal completed
     //   1) there was error from the transform write
     //   2) there was an error from the data source
     //   3) the transform write completed before it sent
@@ -8113,7 +8113,7 @@ HttpSM::redirect_request(const char *arg_redirect_url, const int arg_redirect_le
       // RFC7230 ยง 5.5
       // The redirect URL lacked a scheme and so it is a relative URL.
       // The redirect URL did not begin with a slash, so we parsed some or all
-      // of the the relative URI path as the host.
+      // of the relative URI path as the host.
       // Prepend a slash and parse again.
       char redirect_url_leading_slash[arg_redirect_len + 1];
       redirect_url_leading_slash[0] = '/';
diff --git a/proxy/http/HttpSessionManager.h b/proxy/http/HttpSessionManager.h
index 8ce9a89ba..e94c184ac 100644
--- a/proxy/http/HttpSessionManager.h
+++ b/proxy/http/HttpSessionManager.h
@@ -95,7 +95,7 @@ public:
   */
   HSMresult_t acquireSession(sockaddr const *addr, CryptoHash const &host_hash, TSServerSessionSharingMatchMask match_style,
                              HttpSM *sm, PoolableSession *&server_session);
-  /** Release a session to to pool.
+  /** Release a session to the pool.
    */
   void releaseSession(PoolableSession *ss);
 
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index c45253d8c..8f478e847 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -1694,7 +1694,7 @@ HttpTransact::setup_plugin_request_intercept(State *s)
   //   we see the scheme as http
   s->scheme = s->next_hop_scheme = URL_WKSIDX_HTTP;
 
-  // Set up a "fake" server server entry
+  // Set up a "fake" server entry
   update_current_info(&s->current, &s->server_info, HttpTransact::ORIGIN_SERVER, 0);
 
   // Also "fake" the info we'd normally get from
@@ -4107,9 +4107,8 @@ HttpTransact::handle_forward_server_connection_open(State *s)
       s->api_server_response_ignore = true;
     }
     // s->cache_info.action = CACHE_PREPARE_TO_SERVE;
-    // xing xing in the tunneling case, need to check when the cache_read_vc is closed, make sure the cache_read_vc is closed
-    // right
-    // away
+    // xing in the tunneling case, need to check when the cache_read_vc is closed, make sure the cache_read_vc is closed
+    // right away
   }
 
   CacheVConnection *cw_vc = s->state_machine->get_cache_sm().cache_write_vc;
@@ -6653,7 +6652,7 @@ HttpTransact::will_this_request_self_loop(State *s)
 {
   // The self-loop detection for this ATS node will allow up to max_proxy_cycles
   // (each time it sees it returns to itself it is one cycle) before declaring a self-looping condition detected.
-  // If max_proxy_cycles is > 0 then then next-hop is disabled since --
+  // If max_proxy_cycles is > 0 then next-hop is disabled since --
   //   * if first cycle then it is alright okay
   //   * if not first cycle then will be detected by via string checking the next time that
   //     it enters the node
diff --git a/proxy/http/HttpTransactHeaders.cc b/proxy/http/HttpTransactHeaders.cc
index 0064a9f5e..90b97951d 100644
--- a/proxy/http/HttpTransactHeaders.cc
+++ b/proxy/http/HttpTransactHeaders.cc
@@ -226,7 +226,7 @@ HttpTransactHeaders::copy_header_fields(HTTPHdr *src_hdr, HTTPHdr *new_hdr, bool
   //         serving it to a client that can not handle it
   //      2) Transfer encoding is copied.  If the transfer encoding
   //         is changed for example by dechunking, the transfer encoding
-  //         should be modified when when the decision is made to dechunk it
+  //         should be modified when the decision is made to dechunk it
 
   for (auto &field : *new_hdr) {
     if (field.m_wks_idx == -1) {
diff --git a/proxy/http/HttpTunnel.cc b/proxy/http/HttpTunnel.cc
index abe085727..9071d2913 100644
--- a/proxy/http/HttpTunnel.cc
+++ b/proxy/http/HttpTunnel.cc
@@ -270,7 +270,7 @@ ChunkedHandler::read_trailer()
       } else if (ParseRules::is_lf(*tmp)) {
         // For a LF to signal we are done reading the
         //   trailer, the line must have either been blank
-        //   or must have have only had a CR on it
+        //   or must have only had a CR on it
         if (state == CHUNK_READ_TRAILER_CR || state == CHUNK_READ_TRAILER_BLANK) {
           state = CHUNK_READ_DONE;
           Debug("http_chunk", "completed read of trailers");
@@ -1139,7 +1139,7 @@ HttpTunnel::producer_handler(int event, HttpTunnelProducer *p)
 
     // If we were in PRECOMPLETE when this function was called
     // and we are doing chunking, then we just wrote the last
-    // chunk in the the function call above.  We are done with the
+    // chunk in the function call above.  We are done with the
     // tunnel.
     if (event == HTTP_TUNNEL_EVENT_PRECOMPLETE) {
       event = VC_EVENT_EOS;
diff --git a/proxy/http/remap/NextHopConsistentHash.cc b/proxy/http/remap/NextHopConsistentHash.cc
index b94bb1e15..b3f68a517 100644
--- a/proxy/http/remap/NextHopConsistentHash.cc
+++ b/proxy/http/remap/NextHopConsistentHash.cc
@@ -381,7 +381,7 @@ NextHopConsistentHash::findNextHop(TSHttpTxn txnp, void *ih, time_t now)
           break;
         }
       }
-      // try other rings per per the ring mode
+      // try other rings per the ring mode
       switch (ring_mode) {
       case NH_ALTERNATE_RING:
         if (pRec && groups > 0) {
diff --git a/proxy/http/remap/NextHopStrategyFactory.cc b/proxy/http/remap/NextHopStrategyFactory.cc
index 2d7ce793e..0db4a893c 100644
--- a/proxy/http/remap/NextHopStrategyFactory.cc
+++ b/proxy/http/remap/NextHopStrategyFactory.cc
@@ -188,7 +188,7 @@ NextHopStrategyFactory::strategyInstance(const char *name)
 
 /*
  * loads the contents of a file into a std::stringstream document.  If the file has a '#include file'
- * directive, that 'file' is read into the document beginning at the the point where the
+ * directive, that 'file' is read into the document beginning at the point where the
  * '#include' was found. This allows the 'strategy' and 'hosts' yaml files to be separate.  The
  * 'strategy' yaml file would then normally have the '#include hosts.yml' in it's beginning.
  */
diff --git a/proxy/http/remap/PluginDso.h b/proxy/http/remap/PluginDso.h
index 9e6df2d1a..b9661d457 100644
--- a/proxy/http/remap/PluginDso.h
+++ b/proxy/http/remap/PluginDso.h
@@ -123,7 +123,7 @@ public:
     /**
      * @brief Removes the passed plugin's effective path from the opt out list.
      * @note This is mostly used by unit test than needs to remove the plugin's effectivePath
-     *       from the out out list.
+     *       from the opt out list.
      * @param pluginPath plugin's path.
      * @note This function is mainly for unit tests purposes.
      */
diff --git a/proxy/http/remap/RemapConfig.cc b/proxy/http/remap/RemapConfig.cc
index 5a2930aec..2f435f60b 100644
--- a/proxy/http/remap/RemapConfig.cc
+++ b/proxy/http/remap/RemapConfig.cc
@@ -46,7 +46,7 @@ load_remap_file_func load_remap_file_cb = nullptr;
   Returns the length of the URL.
 
   Will replace the terminator with a '/' if this is a full URL and
-  there are no '/' in it after the the host.  This ensures that class
+  there are no '/' in it after the host.  This ensures that class
   URL parses the URL correctly.
 
 */
diff --git a/proxy/http/remap/RemapPlugins.cc b/proxy/http/remap/RemapPlugins.cc
index 6649f175a..893ec2973 100644
--- a/proxy/http/remap/RemapPlugins.cc
+++ b/proxy/http/remap/RemapPlugins.cc
@@ -72,7 +72,7 @@ RemapPlugins::run_plugin(RemapPluginInst *plugin)
 
   @return 1 when you are done doing crap (otherwise, you get re-called
     with schedule_imm and i hope you have something more to do), else
-    0 if you have something more do do (this isn't strict and we check
+    0 if you have something more to do (this isn't strict and we check
     there actually *is* something to do).
 
 */
diff --git a/proxy/logging/LogAccess.cc b/proxy/logging/LogAccess.cc
index a370f1843..b776986ba 100644
--- a/proxy/logging/LogAccess.cc
+++ b/proxy/logging/LogAccess.cc
@@ -1560,7 +1560,7 @@ LogAccess::marshal_client_req_http_method(char *buf)
   if (m_client_request) {
     str = const_cast<char *>(m_client_request->method_get(&alen));
 
-    // calculate the the padded length only if the actual length
+    // calculate the padded length only if the actual length
     // is not zero. We don't want the padded length to be zero
     // because marshal_mem should write the DEFAULT_STR to the
     // buffer if str is nil, and we need room for this.
@@ -1694,7 +1694,7 @@ LogAccess::marshal_client_req_url_scheme(char *buf)
     alen = strlen(str);
   }
 
-  // calculate the the padded length only if the actual length
+  // calculate the padded length only if the actual length
   // is not zero. We don't want the padded length to be zero
   // because marshal_mem should write the DEFAULT_STR to the
   // buffer if str is nil, and we need room for this.
diff --git a/src/wccp/WccpLocal.h b/src/wccp/WccpLocal.h
index 7e173ab7c..f98593728 100644
--- a/src/wccp/WccpLocal.h
+++ b/src/wccp/WccpLocal.h
@@ -1095,7 +1095,7 @@ public:
   self &setProtocol(uint8_t p); ///< Set protocol field to @a p.
 
   uint32_t getFlags() const;  ///< Get flags field.
-  self &setFlags(uint32_t f); ///< Set the flags flags in field to @a f.
+  self &setFlags(uint32_t f); ///< Set the flags in field to @a f.
   /// Set the flags in the flag field that are set in @a f.
   /// Other flags are unchanged.
   self &enableFlags(uint32_t f);
diff --git a/tools/jtest/jtest.cc b/tools/jtest/jtest.cc
index f231308e6..43480b02a 100644
--- a/tools/jtest/jtest.cc
+++ b/tools/jtest/jtest.cc
@@ -4664,7 +4664,7 @@ ink_web_remove_dots(char *src, char *dest, int *leadingslash, int max_dest_len)
 
   int ink_web_unescapify_string(...)
 
-  Takes a string that has has special characters turned to %AB format
+  Takes a string that has special characters turned to %AB format
   and converts them back to single special characters. See
   ink_web_escapify_string() above.