---
** [tickets:#3319] ntf: Process the asynchronous checkpoint before sending
response**
**Status:** assigned
**Milestone:** 5.22.11
**Created:** Fri Jul 15, 2022 04:20 AM UTC by Hieu Hong Hoang
**Last Updated:** Fri Jul 15, 2022 04:20 AM UTC
**Owner:** Hieu Hong Hoang
**Attachments:**
-
[osafntfd](https://sourceforge.net/p/opensaf/tickets/3319/attachment/osafntfd)
(504.7 kB; application/octet-stream)
When ntfd receives an asynchronous checkpoint from its peer, it decodes and
process the checkpoint before sending the response to peer. That means peer
must wait for processing the checkpoint so it is a synchronous checkpoint
rather than an asynchronous checkpoint. We should not process the asynchronous
checkpoint inside the decode function.
Log analysis:
- ntfd receives a asynchronous checkpoint:
~~~
<143>1 2022-07-15T10:40:45.939514+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="769"] 216:mbc/mbcsv_act.c:451 >> ncs_mbcsv_rcv_async_update: async
update received. myrole: 2, svc_id: 44, pwe_hdl: 65550
~~~
- ntfd decodes the checkpoint:
~~~
<143>1 2022-07-15T10:40:45.939517+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="770"] 216:mbc/mbcsv_act.c:383 >> ncs_mbscv_rcv_decode
<143>1 2022-07-15T10:40:45.939521+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="771"] 216:ntf/ntfd/ntfs_mbcsv.c:755 T2 decode msg type: 1
<143>1 2022-07-15T10:40:45.939524+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="772"] 216:ntf/ntfd/ntfs_mbcsv.c:780 T2 ASYNC UPDATE DECODE called
<143>1 2022-07-15T10:40:45.939527+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="773"] 216:ntf/ntfd/ntfs_mbcsv.c:843 >> ckpt_decode_async_update
<143>1 2022-07-15T10:40:45.939545+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="774"] 216:ntf/ntfd/ntfs_mbcsv.c:860 T2 ckpt_rec_type: 4
<143>1 2022-07-15T10:40:45.939549+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="775"] 216:ntf/ntfd/ntfs_mbcsv.c:871 T2 NOTIFICATION: AUPDATE
<143>1 2022-07-15T10:40:45.939552+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="776"] 216:ntf/common/ntfsv_enc_dec.c:977 >> ntfsv_dec_not_msg
<143>1 2022-07-15T10:40:45.939557+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="777"] 216:ntf/common/ntfsv_enc_dec.c:1149 TR dec
SA_NTF_TYPE_STATE_CHANGE
<143>1 2022-07-15T10:40:45.93956+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="778"] 216:ntf/common/ntfsv_enc_dec.c:910 >> ntfsv_dec_not_header
<143>1 2022-07-15T10:40:45.939565+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="779"] 216:ntf/common/ntfsv_mem.c:141 >> ntfsv_alloc_ntf_header
<143>1 2022-07-15T10:40:45.939572+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="780"] 216:ntf/common/ntfsv_mem.c:257 << ntfsv_alloc_ntf_header
<143>1 2022-07-15T10:40:45.939579+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="781"] 216:ntf/common/ntfsv_enc_dec.c:967 << ntfsv_dec_not_header
<143>1 2022-07-15T10:40:45.939583+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="782"] 216:ntf/common/ntfsv_enc_dec.c:1161 TR dec numStCh: 1
<143>1 2022-07-15T10:40:45.939587+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="783"] 216:ntf/common/ntfsv_enc_dec.c:1238 << ntfsv_dec_not_msg
~~~
- ntfd process the checkpoint then finish decoding checkpoint:
~~~
<143>1 2022-07-15T10:40:45.93959+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="784"] 216:ntf/ntfd/ntfs_mbcsv.c:1420 >> ckpt_proc_notification
...
<143>1 2022-07-15T10:40:45.939728+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="829"] 216:ntf/ntfd/ntfs_mbcsv.c:1424 << ckpt_proc_notification
<143>1 2022-07-15T10:40:45.939731+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="830"] 216:ntf/ntfd/ntfs_mbcsv.c:976 << ckpt_decode_async_update
<143>1 2022-07-15T10:40:45.939734+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="831"] 216:mbc/mbcsv_act.c:429 << ncs_mbscv_rcv_decode
~~~
- ntfd send the response to peer:
~~~
<143>1 2022-07-15T10:40:45.939737+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="832"] 216:mbc/mbcsv_util.c:1006 >> mbcsv_send_msg: event type: 12
<143>1 2022-07-15T10:40:45.93974+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="833"] 216:mbc/mbcsv_util.c:1036 TR NCS_MBCSV_MSG_SYNC_SEND_RSP event
<143>1 2022-07-15T10:40:45.939743+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="834"] 216:mbc/mbcsv_mds.c:198 >> mbcsv_mds_send_msg: sending to
vdest:e
<143>1 2022-07-15T10:40:45.939746+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="835"] 216:mbc/mbcsv_mds.c:227 TR send type MDS_SENDTYPE_RRSP:
<143>1 2022-07-15T10:40:45.942827+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="836"] 219:mds/mds_dt_trans.c:755 >> mdtm_process_poll_recv_data_tcp
<143>1 2022-07-15T10:40:45.942866+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="837"] 216:mbc/mbcsv_mds.c:253 << mbcsv_mds_send_msg: success
<143>1 2022-07-15T10:40:45.942879+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="838"] 216:mbc/mbcsv_util.c:1088 << mbcsv_send_msg
<143>1 2022-07-15T10:40:45.942889+07:00 SC-5 osafntfd 216 osafntfd [meta
sequenceId="839"] 216:mbc/mbcsv_act.c:472 << ncs_mbcsv_rcv_async_update
~~~
---
Sent from sourceforge.net because opensaf-tickets@lists.sourceforge.net is
subscribed to https://sourceforge.net/p/opensaf/tickets/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/opensaf/admin/tickets/options. Or, if this is a
mailing list, you can unsubscribe from the mailing list.
_______________________________________________
Opensaf-tickets mailing list
Opensaf-tickets@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets