- Support NTFA_VARIABLE_DATA_LIMIT configuration for NTF Agent.
Default value is SHRT_MAX(32767).
- In system that object creation may have many info attributes/values,
it should configure this env variable to suitable value for ntfimcn
able send notification.
---
 src/ntf/agent/ntfa_util.c      | 13 ++++++++++++-
 src/ntf/ntfd/ntfd.conf         |  4 ++++
 src/ntf/ntfimcnd/ntfimcn_imm.c | 18 ++++++++++++------
 3 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/src/ntf/agent/ntfa_util.c b/src/ntf/agent/ntfa_util.c
index 5bc859259..379348ab5 100644
--- a/src/ntf/agent/ntfa_util.c
+++ b/src/ntf/agent/ntfa_util.c
@@ -60,8 +60,19 @@ static unsigned int ntfa_create(void)
        /* No longer needed */
        m_NCS_SEL_OBJ_DESTROY(&ntfa_cb.ntfs_sync_sel);
 
-       /* TODO: fix env variable */
+       char *ptr = NULL;
+       int optval = 0;
        ntfa_cb.ntf_var_data_limit = NTFA_VARIABLE_DATA_LIMIT;
+       if ((ptr = getenv("NTFA_VARIABLE_DATA_LIMIT")) != NULL) {
+               optval = atoi(ptr);
+               if (optval > 0) {
+                       ntfa_cb.ntf_var_data_limit = optval;
+                       LOG_NO("NTFA_VARIABLE_DATA_LIMIT=%d", optval);
+               } else {
+                       LOG_WA("Invalid NTFA_VARIABLE_DATA_LIMIT, using default 
%d",
+                              NTFA_VARIABLE_DATA_LIMIT);
+               }
+       }
        return rc;
 
 error:
diff --git a/src/ntf/ntfd/ntfd.conf b/src/ntf/ntfd/ntfd.conf
index 91bfcd2e2..f2f67496f 100644
--- a/src/ntf/ntfd/ntfd.conf
+++ b/src/ntf/ntfd/ntfd.conf
@@ -24,6 +24,10 @@ export NTFSV_ENV_HEALTHCHECK_KEY="Default"
 # directory and the directory component of the path name (if any) is ignored.
 #export NTFSCN_TRACE_PATHNAME=osafntfcn
 
+# Uncomment the next line to configure max allowed variable data size for the
+# osafntfcn (configuration notifier). Default value is 32767 bytes
+#export NTFA_VARIABLE_DATA_LIMIT=32767
+
 # Only log priority LOG_WARNING and higher to the system log file.
 # All logging will be recorded in a new node local log file 
$PKGLOGDIR/osaf.log.
 # Uncomment the next line to enable this service to log to OpenSAF node local 
log file.
diff --git a/src/ntf/ntfimcnd/ntfimcn_imm.c b/src/ntf/ntfimcnd/ntfimcn_imm.c
index c58e8a268..3f2c1a873 100644
--- a/src/ntf/ntfimcnd/ntfimcn_imm.c
+++ b/src/ntf/ntfimcnd/ntfimcn_imm.c
@@ -680,8 +680,10 @@ static void saImmOiCcbApplyCallback(SaImmOiHandleT 
immOiHandle,
                            ccbUtilOperationData, rdn_attr_name, ccbLast);
                        if (internal_rc != 0) {
                                LOG_ER(
-                                   "%s send_object_create_notification fail",
-                                   __FUNCTION__);
+                                   "%s send_object_create_notification %s 
fail",
+                                   __FUNCTION__,
+                                   osaf_extended_name_borrow(
+                                           &ccbUtilOperationData->objectName));
                                goto done;
                        }
                        break;
@@ -706,8 +708,10 @@ static void saImmOiCcbApplyCallback(SaImmOiHandleT 
immOiHandle,
                            ccbUtilOperationData, invoke_name_ptr, ccbLast);
                        if (internal_rc != 0) {
                                LOG_ER(
-                                   "%s send_object_delete_notification fail",
-                                   __FUNCTION__);
+                                   "%s send_object_delete_notification %s 
fail",
+                                   __FUNCTION__,
+                                   osaf_extended_name_borrow(
+                                           &ccbUtilOperationData->objectName));
                                goto done;
                        }
                        break;
@@ -720,8 +724,10 @@ static void saImmOiCcbApplyCallback(SaImmOiHandleT 
immOiHandle,
                            ccbUtilOperationData, invoke_name_ptr, ccbLast);
                        if (internal_rc != 0) {
                                LOG_ER(
-                                   "%s send_object_modify_notification fail",
-                                   __FUNCTION__);
+                                   "%s send_object_modify_notification %s 
fail",
+                                   __FUNCTION__,
+                                   osaf_extended_name_borrow(
+                                           &ccbUtilOperationData->objectName));
                                goto done;
                        }
                        break;
-- 
2.17.1



_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to