Telco and IT

Everything which is related to Telecommunications, IT and my work

NoSQL: Exiting inner Replica loop with exception

$ cd /opt/ece/data/nosql/storage2/kvroot/ECEStore/log
$ (for i in $(ls rg*-rn*_0.log); do tail -200 $i |  grep "Originally thrown by HA thread" | awk '{ print "java  -jar $KVHOME/lib/je.jar DbTruncateLog -h " $3 " -f " $69 " -o " $71}' | sed 's/.jdb,//g' | sed 's/,//g' | sed 's/rg.*-rn.*(.*)\://g'; done ) | sort | uniq
java  -jar $KVHOME/lib/je.jar DbTruncateLog -h /opt/ece/data/nosql/storage2/u01/rg2-rn5/env -f 00000000 -o 0x3bab9f7
java  -jar $KVHOME/lib/je.jar DbTruncateLog -h /opt/ece/data/nosql/storage2/u02/rg1-rn5/env -f 00000000 -o 0x307779c


If a NoSQL Storage Node is not running for a while, after startup it may complaining:

2016-11-17 13:22:34.934 UTC WARNING [admin1] JE: Exiting inner Replica loop with exception (JE 6.4.15) 1(1):/opt/ece/data/nosql/storage2/kvroot/ECEStore/sn1/admin1/env Node 1(1):/opt/ece/data/nosql/storage2/kvroot/ECEStore/sn1/admin1/env must rollback 41 commits to the earliest point indicated by transaction id=-392 time=2016-11-17 14:18:53.969 vlsn=884 lsn=0x0/0x6e4be1 in order to rejoin the replication group, but the transaction rollback limit of 10 prohibits this. Either increase the property je.rep.txnRollbackLimit to a value larger than 10 to permit automatic rollback, or manually remove the problematic transactions. To do a manual removal, truncate the log to file 00000000.jdb, offset 0x6e4944, vlsn 881 using the directions in  ROLLBACK_PROHIBITED: Node would like to roll back past committed transactions, but would exceed the limit specified by je.rep.txnRollbackLimit. Manual intervention required. Environment is invalid and must be closed.


ASN.1 encoding tutorial


Recently I in my work I had to encode an Inap (to be more precise – Sinap) content “by hand”. It’s not a rocket science however when you need to repeat this action several times it’s worth to prepare an “automatic” solution.

Input data

As an imput I have description of Furnish Charging Information in ASN.1:

FurnishChargingInformation ::= OPERATION 
   ARGUMENT FurnishChargingInformationArg 
   ERRORS {MissingParameter , 
                 TaskRefused , 
                 UnexpectedComponentSequence , 
                 UnexpectedDataValue , 
                 UnexpectedParameter } 
FurnishChargingInformationArg ::= FCIBillingChargingCharacteristics
FCIBillingChargingCharacteristics ::= OCTET STRING (SIZE (minFCIBillingChargingLen..maxFCIBillingChargingLen))

Ok, how to read it? (S)INAP message FurnishChargingInformation has an argument FurnishChargingInformationArg which is eqal to FCIBillingChargingCharacteristics. FCIBillingChargingCharacteristics is a limited size octet string.


How to disable and remove usbecm2 device from Solaris 11 server

After fresh installation of T4-1 server, I’ve noticed a network interface which I didn’t expect – the usbecm2:

root@slc:/# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet netmask ff000000
net0: flags=100001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,PHYSRUNNING> mtu 1500 index 7
        inet netmask ffffff00 broadcast
        ether 0:10:e0:9a:2e:6
usbecm2: flags=100001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,PHYSRUNNING> mtu 1500 index 14
        inet netmask ffffff00 broadcast
        ether 2:21:28:57:47:17
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
        inet6 ::1/128
net0: flags=120002000840<RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 7
        inet6 ::/0
        ether 0:10:e0:9a:2e:6
usbecm2: flags=120002000840<RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 14
        inet6 ::/0
        ether 2:21:28:57:47:17


Wireshark 1.6.1 does not start on Solaris 10

Fresh installation of Solaris 10 and wireshark (from just cannot start:

root@am1slc01 # wireshark  No fonts found; this probably means that the fontconfig library is not correctly configured. You may need to edit the fonts.conf configuration file. More information about fontconfig can be found in the fontconfig(3) manual page and on


Quick and dirty solution:

root@am1slc01 # cp -p /usr/local/etc/fonts/fonts.conf /usr/local/etc/fonts/fonts.conf.bak
root@am1slc01 # cp -p /etc/fonts/fonts.conf /usr/local/etc/fonts/fonts.conf
root@am1slc01 # wireshark


Works but do you have any other ideas?