[2.20-Build 64] Analytics node failed to purge stored data

Bug #1487966 reported by Daisuke Nakajima
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R2.20
Fix Committed
Medium
Sundaresan Rajangam
R2.21.x
Fix Committed
Medium
Sundaresan Rajangam
Trunk
Fix Committed
Medium
Sundaresan Rajangam

Bug Description

Analytics node failes to purge stored data even though the data exceeds it threshold.

07/30/2015 09:35:26 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Database usage of 71 on ot2-opsm00037 exceeds threshold
07/30/2015 09:35:26 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: start times:OrderedDict([('SystemObjectFlowStartTime', 1436772521864673), ('SystemObjectMsgStartTime', 1436772521864673), ('SystemObjectStartTime', 1436772521864671), ('SystemObjectStatStartTime', 1436772521864674)])
07/30/2015 09:36:34 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Exception: Purge_id:def5d1ee-3652-11e5-a6d0-70e2840e0ba2 table:MessageTableTimestamp error: 'int' object has no attribute '__getitem__'
08/10/2015 04:18:47 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Database usage of 72 on ot2-opsm00037 exceeds threshold
08/10/2015 04:18:47 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: start times:OrderedDict([('SystemObjectFlowStartTime', 1436772521864673), ('SystemObjectMsgStartTime', 1436772521864673), ('SystemObjectStartTime', 1436772521864671), ('SystemObjectStatStartTime', 1436772521864674)])
08/10/2015 04:21:36 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Exception: Purge_id:75a94654-3ecb-11e5-a6d0-70e2840e0ba2 table:MessageTableTimestamp error: 'int' object has no attribute '__getitem__'
08/10/2015 05:12:21 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Database usage of 71 on ot2-opsm00037 exceeds threshold
08/10/2015 05:12:21 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: start times:OrderedDict([('SystemObjectFlowStartTime', 1436772521864673), ('SystemObjectMsgStartTime', 1436772521864673), ('SystemObjectStartTime', 1436772521864671), ('SystemObjectStatStartTime', 1436772521864674)])
08/10/2015 05:15:09 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Exception: Purge_id:f16b2b02-3ed2-11e5-a6d0-70e2840e0ba2 table:MessageTableTimestamp error: 'int' object has no attribute '__getitem__'
08/10/2015 06:05:49 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Database usage of 71 on ot2-opsm00037 exceeds threshold
08/10/2015 06:05:49 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: start times:OrderedDict([('SystemObjectFlowStartTime', 1436772521864673), ('SystemObjectMsgStartTime', 1436772521864673), ('SystemObjectStartTime', 1436772521864671), ('SystemObjectStatStartTime', 1436772521864674)])

information type: Proprietary → Public
Revision history for this message
Daisuke Nakajima (dnakajima) wrote :

This issue is seen on 2.20-64.

tags: added: customer
tags: added: bms
Revision history for this message
Raj Reddy (rajreddy) wrote : Re: [Bug 1487966] [2.20-Build 64] Analytics node failed to purge stored data
Download full text (3.3 KiB)

Hi Nobuhiko,

Can you let us know what’s your configuration wrt space and scale? How many db nodes, how much
space on each node and how many vrouters — can you also provide contrail-collector.conf to see
the TTLs that are set.

thanks

> On Sep 13, 2015, at 6:17 PM, Nobuhiko Nagataki <email address hidden> wrote:
>
> ** Tags added: bms
>
> --
> You received this bug notification because you are a member of Contrail
> Systems engineering, which is subscribed to Juniper Openstack.
> https://bugs.launchpad.net/bugs/1487966
>
> Title:
> [2.20-Build 64] Analytics node failed to purge stored data
>
> Status in Juniper Openstack:
> New
> Status in Juniper Openstack r2.20 series:
> New
> Status in Juniper Openstack trunk series:
> New
>
> Bug description:
> Analytics node failes to purge stored data even though the data
> exceeds it threshold.
>
>
> 07/30/2015 09:35:26 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Database usage of 71 on ot2-opsm00037 exceeds threshold
> 07/30/2015 09:35:26 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: start times:OrderedDict([('SystemObjectFlowStartTime', 1436772521864673), ('SystemObjectMsgStartTime', 1436772521864673), ('SystemObjectStartTime', 1436772521864671), ('SystemObjectStatStartTime', 1436772521864674)])
> 07/30/2015 09:36:34 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Exception: Purge_id:def5d1ee-3652-11e5-a6d0-70e2840e0ba2 table:MessageTableTimestamp error: 'int' object has no attribute '__getitem__'
> 08/10/2015 04:18:47 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Database usage of 72 on ot2-opsm00037 exceeds threshold
> 08/10/2015 04:18:47 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: start times:OrderedDict([('SystemObjectFlowStartTime', 1436772521864673), ('SystemObjectMsgStartTime', 1436772521864673), ('SystemObjectStartTime', 1436772521864671), ('SystemObjectStatStartTime', 1436772521864674)])
> 08/10/2015 04:21:36 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Exception: Purge_id:75a94654-3ecb-11e5-a6d0-70e2840e0ba2 table:MessageTableTimestamp error: 'int' object has no attribute '__getitem__'
> 08/10/2015 05:12:21 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Database usage of 71 on ot2-opsm00037 exceeds threshold
> 08/10/2015 05:12:21 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: start times:OrderedDict([('SystemObjectFlowStartTime', 1436772521864673), ('SystemObjectMsgStartTime', 1436772521864673), ('SystemObjectStartTime', 1436772521864671), ('SystemObjectStatStartTime', 1436772521864674)])
> 08/10/2015 05:15:09 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Exception: Purge_id:f16b2b02-3ed2-11e5-a6d0-70e2840e0ba2 table:MessageTableTimestamp error: 'int' object has no attribute '__getitem__'
> 08/10/2015 06:05:49 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Database usage of 71 on ot2-opsm00037 exceeds threshold
> 08/10/2015 06:05:49 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: start times:OrderedDict([('SystemObjectFlowStartTime', 1436772521864673), ('SystemObjectMsgStartTime', 1436772521864673), ('SystemObjectStartTime', 143...

Read more...

Revision history for this message
Nobuhiko Nagataki (nnagatak) wrote :
Download full text (12.1 KiB)

Hi Raj,

Here is the info.

root@ot2-opsm00036:~# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda6 75495536 5354932 66282532 8% /
none 4 0 4 0% /sys/fs/cgroup
udev 98866152 4 98866148 1% /dev
tmpfs 19775392 1940 19773452 1% /run
none 5120 0 5120 0% /run/lock
none 98876956 0 98876956 0% /run/shm
none 102400 0 102400 0% /run/user
/dev/sda1 49082176 6592620 39973232 15% /var/log

The below is testbed.py and contrail-collector.conf.
There are 3 DB and 4 Compute.

root@ot1-fab3:~# cat /opt/contrail/utils/fabfile/testbeds/testbed.py

from fabric.api import env

# 2015/07/13

#Management ip addresses of hosts in the cluster
host_os = 'root@10.11.10.24'
host_cmp1 = 'root@10.11.11.2'
host_cmp2 = 'root@10.11.11.3'
host_cmp3 = 'root@10.11.11.4'
host_cmp4 = 'root@10.11.11.5'
host_contrail1 = 'root@10.11.10.15'
host_contrail2 = 'root@10.11.10.16'
host_contrail3 = 'root@10.11.10.17'

#External routers if any
#for eg.
#ext_routers = [('mx1', '10.204.216.253')]
ext_routers = [('mx-vip', '10.11.111.1')]

#Autonomous system number
router_asn = 64512

#Host from which the fab commands are triggered to install and provision
host_build = 'root@10.10.10.40'

#Role definition of the hosts.
env.roledefs = {
    'all': [host_os, host_cmp1, host_cmp2, host_cmp3, host_cmp4,
host_contrail1, host_contrail2, host_contrail3],
    'cfgm': [host_contrail1, host_contrail2, host_contrail3],
    'openstack': [host_os],
    'control': [host_contrail1, host_contrail2, host_contrail3],
    'compute': [host_cmp1, host_cmp2, host_cmp3, host_cmp4],
    'collector': [host_contrail1, host_contrail2, host_contrail3],
    'webui': [host_contrail1, host_contrail2, host_contrail3],
    'database': [host_contrail1, host_contrail2, host_contrail3],
    'build': [host_build],
}

env.hostnames = {
    'all': ['ot2-opct1', 'ot2-opsh00012', 'ot2-opsh00013',
'ot2-opsh00014', 'ot2-opsh00015', 'ot2-opsm00035', 'ot2-opsm00036',
'ot2-opsm00037']
}

#Openstack admin password
env.openstack_admin_password = 'Ncinci01'

env.keystone = {
    'keystone_ip' : '10.11.10.118',
    'auth_protocol' : 'http',
    'auth_port' : '30357',
    'admin_token' : 'ADMIN',
    'admin_user' : 'usrAdmin',
    'admin_password': 'Ncinci01',
    'service_tenant': 'tntService',
    'admin_tenant' : 'tntAdmin',
    'region_name' : 'ote1',
    'insecure' :'True',
    'manage_neutron': 'no',
    'nova_password': 'Ncinci01',
    'neutron_password': 'Ncinci01',
}

#Passwords of each host
env.passwords = {
    host_os: 'Ncinci01',
    host_cmp1: 'Ncinci01',
    host_cmp2: 'Ncinci01',
    host_cmp3: 'Ncinci01',
    host_cmp4: 'Ncinci01',
    host_contrail1: 'Ncinci01',
    host_contrail2: 'Ncinci01',
    host_contrail3: 'Ncinci01',
    host_build: 'Ncinci01',
}

#For reimage purpose
env.ostypes = {
    host_os: 'ubuntu',
    host_cmp1: 'ubuntu',
    host_cmp2: 'ubuntu',
    host_cmp3: 'ubuntu',
    host_cmp4: 'ubuntu',
    host_contrail1: 'ubuntu',
    host_contrail2: 'ubuntu',
    host_contrail3: 'ubuntu',
}
env.orchestrator = 'opens...

Revision history for this message
Raj Reddy (rajreddy) wrote :
Download full text (12.5 KiB)

Hi Nobuhiko,

Deleting and recovering disk space should be last resort, ideally you should size the disk
and configure *_ttl such that we don’t overrun the space.. The following are the recommended
ttl values

#analytics_data_ttl=48
#analytics_config_audit_ttl=2160
#analytics_statistics_ttl=168
#analytics_flow_ttl=2

thanks,

On Sep 13, 2015, at 9:47 PM, Nobuhiko Nagataki <<email address hidden><mailto:<email address hidden>>> wrote:

Hi Raj,

Here is the info.

root@ot2-opsm00036:~# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda6 75495536 5354932 66282532 8% /
none 4 0 4 0% /sys/fs/cgroup
udev 98866152 4 98866148 1% /dev
tmpfs 19775392 1940 19773452 1% /run
none 5120 0 5120 0% /run/lock
none 98876956 0 98876956 0% /run/shm
none 102400 0 102400 0% /run/user
/dev/sda1 49082176 6592620 39973232 15% /var/log

The below is testbed.py and contrail-collector.conf.
There are 3 DB and 4 Compute.

root@ot1-fab3:~# cat /opt/contrail/utils/fabfile/testbeds/testbed.py

from fabric.api import env

# 2015/07/13

#Management ip addresses of hosts in the cluster
host_os = 'root@10.11.10.24<mailto:root@10.11.10.24>'
host_cmp1 = 'root@10.11.11.2<mailto:root@10.11.11.2>'
host_cmp2 = 'root@10.11.11.3<mailto:root@10.11.11.3>'
host_cmp3 = 'root@10.11.11.4<mailto:root@10.11.11.4>'
host_cmp4 = 'root@10.11.11.5<mailto:root@10.11.11.5>'
host_contrail1 = 'root@10.11.10.15<mailto:root@10.11.10.15>'
host_contrail2 = 'root@10.11.10.16<mailto:root@10.11.10.16>'
host_contrail3 = 'root@10.11.10.17<mailto:root@10.11.10.17>'

#External routers if any
#for eg.
#ext_routers = [('mx1', '10.204.216.253')]
ext_routers = [('mx-vip', '10.11.111.1')]

#Autonomous system number
router_asn = 64512

#Host from which the fab commands are triggered to install and provision
host_build = 'root@10.10.10.40<mailto:root@10.10.10.40>'

#Role definition of the hosts.
env.roledefs = {
   'all': [host_os, host_cmp1, host_cmp2, host_cmp3, host_cmp4,
host_contrail1, host_contrail2, host_contrail3],
   'cfgm': [host_contrail1, host_contrail2, host_contrail3],
   'openstack': [host_os],
   'control': [host_contrail1, host_contrail2, host_contrail3],
   'compute': [host_cmp1, host_cmp2, host_cmp3, host_cmp4],
   'collector': [host_contrail1, host_contrail2, host_contrail3],
   'webui': [host_contrail1, host_contrail2, host_contrail3],
   'database': [host_contrail1, host_contrail2, host_contrail3],
   'build': [host_build],
}

env.hostnames = {
   'all': ['ot2-opct1', 'ot2-opsh00012', 'ot2-opsh00013',
'ot2-opsh00014', 'ot2-opsh00015', 'ot2-opsm00035', 'ot2-opsm00036',
'ot2-opsm00037']
}

#Openstack admin password
env.openstack_admin_password = 'Ncinci01'

env.keystone = {
   'keystone_ip' : '10.11.10.118',
   'auth_protocol' : 'http',
   'auth_port' : '30357',
   'admin_token' : 'ADMIN',
   'admin_user' : 'usrAdmin',
   'admin_password': 'Ncinci01',
   'service_tenant': 'tntService',
   'admin_tenant' : 'tntAdmin',
   'region_name' : 'ote1',
   'insecure' :'True',
   'manage_neutron': 'no',
   'nova_password'...

Revision history for this message
Nobuhiko Nagataki (nnagatak) wrote :
Download full text (13.6 KiB)

Hi Raj,

I thought 70% of database usage also trigger purge stored data.

Only ttl is trigger of purging stored data?

Regards,
Nobu

07/30/2015 09:35:26 AM [ot2-opsm00036:contrail-analytics-api:Analytics:0]: Database usage of 71 on ot2-opsm00037 exceeds threshold

From: Raj Reddy <<email address hidden><mailto:<email address hidden>>>
Date: Monday, September 14, 2015 at 1:55 PM
To: Nobuhiko Nagataki <<email address hidden><mailto:<email address hidden>>>
Cc: Bug 1487966 <<email address hidden><mailto:<email address hidden>>>
Subject: Re: [Bug 1487966] [2.20-Build 64] Analytics node failed to purge stored data

Hi Nobuhiko,

Deleting and recovering disk space should be last resort, ideally you should size the disk
and configure *_ttl such that we don’t overrun the space.. The following are the recommended
ttl values

#analytics_data_ttl=48
#analytics_config_audit_ttl=2160
#analytics_statistics_ttl=168
#analytics_flow_ttl=2

thanks,

On Sep 13, 2015, at 9:47 PM, Nobuhiko Nagataki <<email address hidden><mailto:<email address hidden>>> wrote:

Hi Raj,

Here is the info.

root@ot2-opsm00036:~# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda6 75495536 5354932 66282532 8% /
none 4 0 4 0% /sys/fs/cgroup
udev 98866152 4 98866148 1% /dev
tmpfs 19775392 1940 19773452 1% /run
none 5120 0 5120 0% /run/lock
none 98876956 0 98876956 0% /run/shm
none 102400 0 102400 0% /run/user
/dev/sda1 49082176 6592620 39973232 15% /var/log

The below is testbed.py and contrail-collector.conf.
There are 3 DB and 4 Compute.

root@ot1-fab3:~# cat /opt/contrail/utils/fabfile/testbeds/testbed.py

from fabric.api import env

# 2015/07/13

#Management ip addresses of hosts in the cluster
host_os = 'root@10.11.10.24<mailto:root@10.11.10.24>'
host_cmp1 = 'root@10.11.11.2<mailto:root@10.11.11.2>'
host_cmp2 = 'root@10.11.11.3<mailto:root@10.11.11.3>'
host_cmp3 = 'root@10.11.11.4<mailto:root@10.11.11.4>'
host_cmp4 = 'root@10.11.11.5<mailto:root@10.11.11.5>'
host_contrail1 = 'root@10.11.10.15<mailto:root@10.11.10.15>'
host_contrail2 = 'root@10.11.10.16<mailto:root@10.11.10.16>'
host_contrail3 = 'root@10.11.10.17<mailto:root@10.11.10.17>'

#External routers if any
#for eg.
#ext_routers = [('mx1', '10.204.216.253')]
ext_routers = [('mx-vip', '10.11.111.1')]

#Autonomous system number
router_asn = 64512

#Host from which the fab commands are triggered to install and provision
host_build = 'root@10.10.10.40<mailto:root@10.10.10.40>'

#Role definition of the hosts.
env.roledefs = {
   'all': [host_os, host_cmp1, host_cmp2, host_cmp3, host_cmp4,
host_contrail1, host_contrail2, host_contrail3],
   'cfgm': [host_contrail1, host_contrail2, host_contrail3],
   'openstack': [host_os],
   'control': [host_contrail1, host_contrail2, host_contrail3],
   'compute': [host_cmp1, host_cmp2, host_cmp3, host_cmp4],
   'collector': [host_contrail1, host_contrail2, host_contrail3],
   'webui': [host_contrail1, h...

Revision history for this message
Raj Reddy (rajreddy) wrote :

we have a related bug https://bugs.launchpad.net/juniperopenstack/+bug/1503093
and we will test this auto purge after this is fixed

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/14666
Submitter: Sundaresan Rajangam (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.20

Review in progress for https://review.opencontrail.org/14697
Submitter: Sundaresan Rajangam (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.21.x

Review in progress for https://review.opencontrail.org/14698
Submitter: Sundaresan Rajangam (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/14666
Committed: http://github.org/Juniper/contrail-controller/commit/95077da002c6a7d4d6908cf5fc92d68d97baa0b7
Submitter: Zuul
Branch: master

commit 95077da002c6a7d4d6908cf5fc92d68d97baa0b7
Author: Sundaresan Rajangam <email address hidden>
Date: Tue Oct 27 11:50:27 2015 -0700

Fix database purge code in analytics-api

This patch fixes the following issues in db_purge() method.

1) The key type for MESSAGE_TABLE_TIMESTAMP is different from the
other message index tables.

pycassaShell output:

>>> MESSAGETABLETIMESTAMP.key_validation_class
'IntegerType'

>>> MESSAGETABLESOURCE.key_validation_class
'CompositeType(IntegerType, UTF8Type)'

>>> MESSAGETABLEMESSAGETYPE.key_validation_class
'CompositeType(IntegerType, UTF8Type)'

The purge function always expects composite key and tries to extract
the first element (timestamp) from the key.
But for MESSAGE_TABLE_TIMESTAMP, the key is of type integer
and hence it raises exception. Side-effect of this exception:
data from the table MESSAGE_TABLE_TIMESTAMP not purged.

2) object identity check fails for table.
=> if (table is MESSAGE_TABLE_SOURCE):
The above check always fails due to object id mismatch.
Therefore, data is not purged from the MessageTable.
Replaced object identity check with equality check.

Change-Id: I51d619ac5275acf737094b7cdf36bb3d462fcf81
Closes-Bug: #1487966

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/14698
Committed: http://github.org/Juniper/contrail-controller/commit/2a333c87f22d6874eb25e3d08bf949975f8a7614
Submitter: Zuul
Branch: R2.21.x

commit 2a333c87f22d6874eb25e3d08bf949975f8a7614
Author: Chandan Mishra <email address hidden>
Date: Tue May 26 14:12:48 2015 -0700

This commit does two things:
a) Modifies database purge uve to include error/warning strings related to the
last purge operation.

b) Make sure all analytics start time are same when the system first gets started.

Closes-Bug: 1451619
Change-Id: I68a78f6c8e120fafd771bfb84e89b06b49f3bbfd
(cherry picked from commit 2015613e0543fc023e9f58c486d594baa316d0cd)

Fix database purge code in analytics-api

This patch fixes the following issues in db_purge() method.

1) The key type for MESSAGE_TABLE_TIMESTAMP is different from the
other message index tables.

pycassaShell output:

>>> MESSAGETABLETIMESTAMP.key_validation_class
'IntegerType'

>>> MESSAGETABLESOURCE.key_validation_class
'CompositeType(IntegerType, UTF8Type)'

>>> MESSAGETABLEMESSAGETYPE.key_validation_class
'CompositeType(IntegerType, UTF8Type)'

The purge function always expects composite key and tries to extract
the first element (timestamp) from the key.
But for MESSAGE_TABLE_TIMESTAMP, the key is of type integer
and hence it raises exception. Side-effect of this exception:
data from the table MESSAGE_TABLE_TIMESTAMP not purged.

2) object identity check fails for table.
=> if (table is MESSAGE_TABLE_SOURCE):
The above check always fails due to object id mismatch.
Therefore, data is not purged from the MessageTable.
Replaced object identity check with equality check.

Change-Id: I51d619ac5275acf737094b7cdf36bb3d462fcf81
Closes-Bug: #1487966
(cherry picked from commit 95077da002c6a7d4d6908cf5fc92d68d97baa0b7)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/14697
Committed: http://github.org/Juniper/contrail-controller/commit/377827c56dc70d15f862079585a01ca10c3b1164
Submitter: Zuul
Branch: R2.20

commit 377827c56dc70d15f862079585a01ca10c3b1164
Author: Chandan Mishra <email address hidden>
Date: Tue May 26 14:12:48 2015 -0700

This commit does two things:
a) Modifies database purge uve to include error/warning strings related to the
last purge operation.

b) Make sure all analytics start time are same when the system first gets started.

Closes-Bug: 1451619
Change-Id: I68a78f6c8e120fafd771bfb84e89b06b49f3bbfd
(cherry picked from commit 2015613e0543fc023e9f58c486d594baa316d0cd)

Fix database purge code in analytics-api

This patch fixes the following issues in db_purge() method.

1) The key type for MESSAGE_TABLE_TIMESTAMP is different from the
other message index tables.

pycassaShell output:

>>> MESSAGETABLETIMESTAMP.key_validation_class
'IntegerType'

>>> MESSAGETABLESOURCE.key_validation_class
'CompositeType(IntegerType, UTF8Type)'

>>> MESSAGETABLEMESSAGETYPE.key_validation_class
'CompositeType(IntegerType, UTF8Type)'

The purge function always expects composite key and tries to extract
the first element (timestamp) from the key.
But for MESSAGE_TABLE_TIMESTAMP, the key is of type integer
and hence it raises exception. Side-effect of this exception:
data from the table MESSAGE_TABLE_TIMESTAMP not purged.

2) object identity check fails for table.
=> if (table is MESSAGE_TABLE_SOURCE):
The above check always fails due to object id mismatch.
Therefore, data is not purged from the MessageTable.
Replaced object identity check with equality check.

Change-Id: I51d619ac5275acf737094b7cdf36bb3d462fcf81
Closes-Bug: #1487966
(cherry picked from commit 95077da002c6a7d4d6908cf5fc92d68d97baa0b7)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.