Menu

#3321 imm: multiple value attribute is out of order after cluster reboot

5.22.11
fixed
None
defect
imm
lib
major
False
2022-09-21
2022-09-20
No

Multiple value attribute is out of order after cluster reboot.
expected value: hosts=192.168.0.1|192.168.0.2|192.168.0.3|192.168.0.4
but received: hosts=192.168.0.1|192.168.0.4|192.168.0.3|192.168.0.2

step reproduce:
1. Create class and a object has multiple value attribute same as schema.
immcfg -f <path schema>
immcfg -c TestMultipleValue -a hosts="192.168.0.1" -a hosts="192.168.0.2" -a hosts="192.168.0.3" -a hosts="192.168.0.4" testMultipleValue=1
2. Check value before cluster restart
immlist testMultipleValue=1 -a host -d "|"
3. Cluster reboot
immadm -o 4 safCluster=myClmCluster
hosts=192.168.0.1|192.168.0.2|192.168.0.3|192.168.0.4
4. Check value after cluster restart
immlist testMultipleValue=1 -a host -d "|"
hosts=192.168.0.1|192.168.0.4|192.168.0.3|192.168.0.2

<?xml version="1.0" encoding="utf-8"?>
<imm:IMM-contents>
    <class name="TestMultipleValue">
        <category>SA_CONFIG</category>
        <rdn>
            <name>testMultipleValue</name>
            <type>SA_STRING_T</type>
            <category>SA_CONFIG</category>
            <flag>SA_INITIALIZED</flag>
        </rdn>
        <attr>
            <name>hosts</name>
            <type>SA_STRING_T</type>
            <category>SA_CONFIG</category>
            <flag>SA_WRITABLE</flag>
            <flag>SA_MULTI_VALUE</flag>
        </attr>
    </class>
</imm:IMM-contents>

Related

Wiki: ChangeLog-5.22.11

Discussion

  • Thien Minh Huynh

    • status: accepted --> review
     
  • Thien Minh Huynh

    • status: review --> fixed
     
  • Thien Minh Huynh

    commit 3beb5ab488600d4e4978084b8ea801a6de60ab15 (HEAD -> develop, origin/develop, ticket-3321)
    Author: thien.m.huynh thien.m.huynh@dektech.com.au
    Date: Tue Sep 20 17:13:00 2022 +0700

    imm: fix multiple value attribute out of order [#3321]
    
    Create an object that has multiple value attributes.
    After that, IMMND send the create callback to IMMPBED.
    But the value is sent in the same order as when it was created.
    IMMND will load data from immpbed after the cluster reboots.
    That leads to multiple values being out of order after the reboot.
    
    This is to correct the order of multiple values in the OI/OM callback.
    when loaded from sqlite, change push_front to push_back.
    
     
  • Thien Minh Huynh

    • Part: nd --> lib
     

Log in to post a comment.