diff --git a/.gitignore b/.gitignore
index ee9c73c..5e82a40 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 SOURCES/pcp-6.2.0.src.tar.gz
+SOURCES/redhat-issues-RHEL-50693-hacluster-metrics-update.patch
diff --git a/.pcp.metadata b/.pcp.metadata
index 2dc0110..c9a02bb 100644
--- a/.pcp.metadata
+++ b/.pcp.metadata
@@ -1 +1,2 @@
 617d0e505af5f253080effb6701e089fc02e7379 SOURCES/pcp-6.2.0.src.tar.gz
+17b4396eb6593178f6c29db6f0eb01234eb6dba0 SOURCES/redhat-issues-RHEL-50693-hacluster-metrics-update.patch
diff --git a/SOURCES/1001-libpcp-small-derived-metrics-bug-fix.patch b/SOURCES/1001-libpcp-small-derived-metrics-bug-fix.patch
new file mode 100644
index 0000000..a85d9fd
--- /dev/null
+++ b/SOURCES/1001-libpcp-small-derived-metrics-bug-fix.patch
@@ -0,0 +1,108 @@
+From f8dc87ed130a0cfe1077242a4da2d621c4016bfb Mon Sep 17 00:00:00 2001
+From: Ken McDonell <kenj@kenj.id.au>
+Date: Thu, 4 Apr 2024 11:34:41 +1100
+Subject: [PATCH] libpcp: small derived metrics bug fix
+
+This is a partial fix for
+https://github.com/performancecopilot/pcp/issues/1921
+
+If the operand has the semantics of PM_SEM_COUNTER and the
+value goes backwards from one fetch to the next, then return
+no values for rate().
+
+There is QA to come, but this needs a final blessing from Oracle
+before the reproducer archive can be included.
+
+cherry-picked:- f8dc87ed130a0cfe1077242a4da2d621c4016bfb
+[Orabug: 36538820]
+Signed-off-by: sagar sagar <sagar.sagar@oracle.com>
+---
+ man/man3/pmregisterderived.3  | 13 +++++++++----
+ src/libpcp/src/derive_fetch.c | 23 ++++++++++++++++++++++-
+ 2 files changed, 31 insertions(+), 5 deletions(-)
+
+diff --git a/man/man3/pmregisterderived.3 b/man/man3/pmregisterderived.3
+index d8719f373..32963c3b3 100644
+--- a/man/man3/pmregisterderived.3
++++ b/man/man3/pmregisterderived.3
+@@ -485,15 +485,20 @@ metric x with the dimension in the
+ .B time
+ domain decreased by one and scaling if required in the time utilization case
+ where the operand is in units of time, and the derived metric is unitless.
+-This mimics the rate conversion applied to counter metrics by tools
++There is one value in the result
++for each instance that appears in both the current and the previous
++sample, except in the case where the metric x has
++the semantics of a counter, i.e. PM_SEM_COUNTER, and
++current value of an instance is smaller than the previous value
++of the same instance then no value is
++returned for this instance (this corresponds to a ``counter wrap'' or a ``counter reset'').
++These rules
++mimic the rate conversion applied to counter metrics by tools
+ such as
+ .BR pmval (1),
+ .BR pmie (1)
+ and
+ .BR pmchart (1).
+-There is one value in the result
+-for each instance that appears in both the current and the previous
+-sample.
+ T}
+ _
+ instant(x)	T{
+diff --git a/src/libpcp/src/derive_fetch.c b/src/libpcp/src/derive_fetch.c
+index 62921ece4..ed5f6ebcf 100644
+--- a/src/libpcp/src/derive_fetch.c
++++ b/src/libpcp/src/derive_fetch.c
+@@ -847,7 +847,13 @@ eval_expr(__pmContext *ctxp, node_t *np, struct timespec *stamp, int numpmid,
+ 		    }
+ 		}
+ 		else {
+-		    /* rate() conversion, type will be DOUBLE */
++		    /*
++		     * rate() conversion, type will be DOUBLE
++		     *
++		     * For COUNTER metrics, return "no value" if the counter is
++		     * NOT monotonic increasing ... this matches what pmval(1)
++		     * and pmie(1) do in the same circumstances.
++		     */
+ 		    struct timespec	stampdiff;
+ 
+ 		    stampdiff = np->data.info->stamp;
+@@ -857,18 +863,33 @@ eval_expr(__pmContext *ctxp, node_t *np, struct timespec *stamp, int numpmid,
+ 			    np->data.info->ivlist[k].value.d = (double)(np->left->data.info->ivlist[i].value.l - np->left->data.info->last_ivlist[j].value.l);
+ 			    break;
+ 			case PM_TYPE_U32:
++			    if (np->left->desc.sem == PM_SEM_COUNTER &&
++				np->left->data.info->ivlist[i].value.ul < np->left->data.info->last_ivlist[j].value.ul)
++				continue;
+ 			    np->data.info->ivlist[k].value.d = (double)(np->left->data.info->ivlist[i].value.ul - np->left->data.info->last_ivlist[j].value.ul);
+ 			    break;
+ 			case PM_TYPE_64:
++			    if (np->left->desc.sem == PM_SEM_COUNTER &&
++				np->left->data.info->ivlist[i].value.ll < np->left->data.info->last_ivlist[j].value.ll)
++				continue;
+ 			    np->data.info->ivlist[k].value.d = (double)(np->left->data.info->ivlist[i].value.ll - np->left->data.info->last_ivlist[j].value.ll);
+ 			    break;
+ 			case PM_TYPE_U64:
++			    if (np->left->desc.sem == PM_SEM_COUNTER &&
++				np->left->data.info->ivlist[i].value.ull < np->left->data.info->last_ivlist[j].value.ull)
++				continue;
+ 			    np->data.info->ivlist[k].value.d = (double)(np->left->data.info->ivlist[i].value.ull - np->left->data.info->last_ivlist[j].value.ull);
+ 			    break;
+ 			case PM_TYPE_FLOAT:
++			    if (np->left->desc.sem == PM_SEM_COUNTER &&
++				np->left->data.info->ivlist[i].value.f < np->left->data.info->last_ivlist[j].value.f)
++				continue;
+ 			    np->data.info->ivlist[k].value.d = (double)(np->left->data.info->ivlist[i].value.f - np->left->data.info->last_ivlist[j].value.f);
+ 			    break;
+ 			case PM_TYPE_DOUBLE:
++			    if (np->left->desc.sem == PM_SEM_COUNTER &&
++				np->left->data.info->ivlist[i].value.d < np->left->data.info->last_ivlist[j].value.d)
++				continue;
+ 			    np->data.info->ivlist[k].value.d = np->left->data.info->ivlist[i].value.d - np->left->data.info->last_ivlist[j].value.d;
+ 			    break;
+ 			default:
+-- 
+2.39.3
+
diff --git a/SOURCES/redhat-issues-RHEL-25543-python-year-day-range.patch b/SOURCES/redhat-issues-RHEL-25543-python-year-day-range.patch
deleted file mode 100644
index b43b5ab..0000000
--- a/SOURCES/redhat-issues-RHEL-25543-python-year-day-range.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-commit ce6112399ebf0ff39069a34bc9286242c875555e
-Author: adam kaminski <adam@adamkaminski.com>
-Date:   Fri Feb 9 12:49:34 2024 -0500
-
-    pmapi.py : fix for struct_time() and day of year out of range on yyyy-01-01
-    
-    Fix for `day of year out of range` on 2024-01-01, due to self.tm_yday - 1, which returns `[2024, 1, 1, 2, 3, 0, 0, -1, 0]`. The range for tm_yday should be [1, 366].
-    
-    # timedatectl set-ntp false
-    # timedatectl set-time "2024-01-01 00:00:00"
-    # /usr/libexec/pcp/bin/pcp-mpstat -P ALL -t 1 -s 2
-    Traceback (most recent call last):
-      File "/usr/libexec/pcp/bin/pcp-mpstat", line 653, in <module>
-        sts = manager.run()
-      File "/usr/lib64/python3.6/site-packages/pcp/pmcc.py", line 687, in run
-        self._printer.report(self)
-      File "/usr/libexec/pcp/bin/pcp-mpstat", line 606, in report
-        self.print_machine_info(group, manager)
-      File "/usr/libexec/pcp/bin/pcp-mpstat", line 585, in print_machine_info
-        time_string = time.strftime("%x", timestamp.struct_time())
-    ValueError: day of year out of range
-
-diff --git a/src/python/pcp/pmapi.py b/src/python/pcp/pmapi.py
-index fd8d40e32c..05c8afb079 100644
---- a/src/python/pcp/pmapi.py
-+++ b/src/python/pcp/pmapi.py
-@@ -330,7 +330,7 @@ class tm(Structure):
-             pywday = 6
-         stlist = [self.tm_year + 1900, self.tm_mon + 1, self.tm_mday,
-                   self.tm_hour, self.tm_min, self.tm_sec,
--                  pywday, self.tm_yday - 1, self.tm_isdst]
-+                  pywday, self.tm_yday + 1, self.tm_isdst]
-         return time.struct_time(stlist)
- 
-     def __str__(self):
diff --git a/SOURCES/redhat-issues-RHEL-30719-pmproxy-resp-proxy-disabled.patch b/SOURCES/redhat-issues-RHEL-30719-pmproxy-resp-proxy-disabled.patch
new file mode 100644
index 0000000..7ecacbd
--- /dev/null
+++ b/SOURCES/redhat-issues-RHEL-30719-pmproxy-resp-proxy-disabled.patch
@@ -0,0 +1,27 @@
+commit 3bde240a2acc85e63e2f7813330713dd9b59386e
+Author: Nathan Scott <nathans@redhat.com>
+Date:   Wed Mar 27 14:51:28 2024 +1100
+
+    pmproxy: disable Redis protocol proxying by default
+    
+    If a redis-server has been locked down in terms of connections,
+    we want to prevent pmproxy from being allowed to send arbitrary
+    RESP commands to it.
+    
+    This protocol proxying doesn't affect PCP functionality at all,
+    its more of a developer/sysadmin convenience when Redis used in
+    cluster mode (relatively uncommon compared to localhost mode).
+
+diff --git a/src/pmproxy/pmproxy.conf b/src/pmproxy/pmproxy.conf
+index e54891792e..4cbc1c96af 100644
+--- a/src/pmproxy/pmproxy.conf
++++ b/src/pmproxy/pmproxy.conf
+@@ -29,7 +29,7 @@ pcp.enabled = true
+ http.enabled = true
+ 
+ # support Redis protocol proxying
+-redis.enabled = true
++redis.enabled = false
+ 
+ # support SSL/TLS protocol wrapping
+ secure.enabled = true
diff --git a/SPECS/pcp.spec b/SPECS/pcp.spec
index 11c3721..b896107 100644
--- a/SPECS/pcp.spec
+++ b/SPECS/pcp.spec
@@ -1,6 +1,6 @@
 Name:    pcp
 Version: 6.2.0
-Release: 2%{?dist}
+Release: 3.0.1%{?dist}
 Summary: System-level performance monitoring and performance management
 License: GPL-2.0-or-later AND LGPL-2.1-or-later AND CC-BY-3.0
 URL:     https://pcp.io
@@ -8,7 +8,12 @@ URL:     https://pcp.io
 Source0: https://github.com/performancecopilot/pcp/releases/pcp-%{version}.src.tar.gz
 
 Patch1: redhat-issues-RHEL-2317-default-archive-version.patch
-Patch2: redhat-issues-RHEL-25543-python-year-day-range.patch
+Patch2: redhat-issues-RHEL-30719-pmproxy-resp-proxy-disabled.patch
+Patch3: redhat-issues-RHEL-50693-hacluster-metrics-update.patch
+
+#Oracle patches
+Patch1001: 1001-libpcp-small-derived-metrics-bug-fix.patch
+
 
 %if 0%{?fedora} >= 40 || 0%{?rhel} >= 10
 ExcludeArch: %{ix86}
@@ -3493,8 +3498,14 @@ fi
 %files zeroconf -f pcp-zeroconf-files.rpm
 
 %changelog
-* Wed Mar 20 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-2
-- Fix python sub-package year day range issue (RHEL-25543)
+* Tue Sep 03 2024 EL Errata <el-errata_ww@oracle.com> - 6.2.0-3.0.1
+- Fixed libpcp derived metric issue for ol9 [Orabug: 36538820]
+
+* Thu Aug 08 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-3
+- Update hacluster PMDA for pacemaker 2.1.6 crm_mon (RHEL-50693)
+
+* Wed Apr 17 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-2
+- Disable RESP proxying by default in pmproxy (RHEL-30719)
 
 * Mon Feb 12 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-1
 - Rebase to latest stable version of PCP (RHEL-2317)