diff --git a/SOURCES/openvswitch-2.17.0.patch b/SOURCES/openvswitch-2.17.0.patch
index bde878c..f58bf5c 100644
--- a/SOURCES/openvswitch-2.17.0.patch
+++ b/SOURCES/openvswitch-2.17.0.patch
@@ -59025,7 +59025,7 @@ index ef7bb4b8ee..c36a140a8e 100644
 -#endif
  }
 diff --git a/python/ovs/db/idl.py b/python/ovs/db/idl.py
-index 4ecdcaa197..8f13d1f55a 100644
+index 4ecdcaa197..8e31e02d79 100644
 --- a/python/ovs/db/idl.py
 +++ b/python/ovs/db/idl.py
 @@ -140,6 +140,47 @@ class ConditionState(object):
@@ -59206,10 +59206,14 @@ index 4ecdcaa197..8f13d1f55a 100644
  def _row_to_uuid(value):
      if isinstance(value, Row):
          return value.uuid
-@@ -1268,6 +1297,17 @@ class Row(object):
+@@ -1266,7 +1295,19 @@ class Row(object):
+         return "{table}({data})".format(
+             table=self._table.name,
              data=", ".join("{col}={val}".format(col=c, val=getattr(self, c))
-                            for c in sorted(self._table.columns)))
- 
+-                           for c in sorted(self._table.columns)))
++                           for c in sorted(self._table.columns)
++                           if hasattr(self, c)))
++
 +    def _uuid_to_row(self, atom, base):
 +        if base.ref_table:
 +            try:
@@ -59220,11 +59224,10 @@ index 4ecdcaa197..8f13d1f55a 100644
 +            return table.rows.get(atom)
 +        else:
 +            return atom
-+
+ 
      def __getattr__(self, column_name):
          assert self._changes is not None
-         assert self._mutations is not None
-@@ -1309,7 +1349,7 @@ class Row(object):
+@@ -1309,7 +1350,7 @@ class Row(object):
                      datum = data.Datum.from_python(column.type, dlist,
                                                     _row_to_uuid)
                  elif column.type.is_map():
@@ -59233,7 +59236,7 @@ index 4ecdcaa197..8f13d1f55a 100644
                      if inserts is not None:
                          dmap.update(inserts)
                      if removes is not None:
-@@ -1326,7 +1366,7 @@ class Row(object):
+@@ -1326,7 +1367,7 @@ class Row(object):
                  else:
                      datum = inserts
  
@@ -59242,7 +59245,7 @@ index 4ecdcaa197..8f13d1f55a 100644
  
      def __setattr__(self, column_name, value):
          assert self._changes is not None
-@@ -1410,7 +1450,7 @@ class Row(object):
+@@ -1410,7 +1451,7 @@ class Row(object):
          if value:
              try:
                  old_value = data.Datum.to_python(self._data[column_name],
diff --git a/SPECS/openvswitch2.17.spec b/SPECS/openvswitch2.17.spec
index bb680e3..70fe0b1 100644
--- a/SPECS/openvswitch2.17.spec
+++ b/SPECS/openvswitch2.17.spec
@@ -57,7 +57,7 @@ Summary: Open vSwitch
 Group: System Environment/Daemons daemon/database/utilities
 URL: http://www.openvswitch.org/
 Version: 2.17.0
-Release: 51%{?dist}
+Release: 52%{?dist}
 
 # Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
 # lib/sflow*.[ch] files are SISSL
@@ -743,6 +743,12 @@ exit 0
 %endif
 
 %changelog
+* Mon Sep 19 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-52
+- Merging upstream branch-2.17 [RH git: 6d00d0c803]
+    Commit list:
+    db6a612cd7 python: idl: Fix idl.Row.__str__ method.
+
+
 * Mon Sep 19 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-51
 - Merging upstream branch-2.17 [RH git: daeab22d1e]
     Commit list: