This is a product bug. We are sorry for the inconvenience.
If you started using the product from the following versions, please implement the following measures to correct this issue.
intra-mart Accel Platform 2013 Winter(Felicia)
intra-mart Accel Platform 2014 Spring(Granada)
intra-mart Accel Platform 2014 Summer(Honoka)
intra-mart Accel Platform 2014 Winter(Iceberg)
intra-mart Accel Platform 2015 Spring(Juno)
intra-mart Accel Platform 2015 Summer(Karen)
intra-mart Accel Platform 2015 Winter(Lydia)
[Condition]
This problem occurs when Cassandra is built in a distributed environment.
[Cause]
This problem occurs because replicate_on_write was not set up when Column Family was created, and there is no synchronization between Cassandra nodes during the update process.
[Workaround]
Perform the following procedure for the Cassandra server.
Change the attribute value of the ColumnFamily which holds the count data.
This measure enables synchronization between Cassandra nodes during the update process.
Resynchronization of existing data
This measure synchronizes the data contents which deviated between Cassandra nodes.
0. Premise
This operation is performed on the Cassandra server.
Stop the intra-mart Accel Platform so that no writing to Cassandra is performed during this operation.
1.Changing the attribute values of the ColumnFamily which holds the count data
Connect to the console of any of the Cassandra servers in cluster configuration.
Execute the cassandra-cli command under the bin directory in the Cassandra installation directory (noted as $cassandra_home hereinafter).
Select keyspace in the cassandra-cli command.
Replace # default with the name of the keyspace in use and execute it.
use default;
Change the attribute value of ColumnFamily which holds the count data.
update column family ADD_MYLIST with replicate_on_write=true;
update column family ADD_MYLIST_WITH_COMPANY with replicate_on_write=true;
update column family ADD_TAG_AND_USER with replicate_on_write=true;
update column family ALLOW_COMPANY with replicate_on_write=true;
update column family APPLICATIONBOX_NOTICE with replicate_on_write=true;
update column family APPLICATIONBOX_TIMELINE with replicate_on_write=true;
update column family APPLICATION_DATA with replicate_on_write=true;
update column family APPLICATION_SENT with replicate_on_write=true;
update column family APPLICATION_WATCHED with replicate_on_write=true;
update column family APPLICATION_WATCHED_TARGET with replicate_on_write=true;
update column family APPLICATION_WATCHED_USER with replicate_on_write=true;
update column family ATTACH_COMPANY with replicate_on_write=true;
update column family ATTACH_COUNT with replicate_on_write=true;
update column family BOOKMARK_MESSAGE with replicate_on_write=true;
update column family COMPANY with replicate_on_write=true;
update column family COMPANYBOX_TIMELINE with replicate_on_write=true;
update column family COMPANY_ALLOWED with replicate_on_write=true;
update column family COMPANY_AND_TAG_ADDED with replicate_on_write=true;
update column family COMPANY_AND_TAG_FOLLOWED with replicate_on_write=true;
update column family COMPANY_ATTACHED with replicate_on_write=true;
update column family COMPANY_COUNT with replicate_on_write=true;
update column family COMPANY_MANAGE_GROUP with replicate_on_write=true;
update column family COMPANY_MANAGE_TAG with replicate_on_write=true;
update column family CONNECT_NOTICE with replicate_on_write=true;
update column family CREATE_MYLIST with replicate_on_write=true;
update column family DELETED_USER with replicate_on_write=true;
update column family DMBOX_TIMELINE with replicate_on_write=true;
update column family EVENT_HISTORY with replicate_on_write=true;
update column family FOLLOW_TAG with replicate_on_write=true;
update column family FOLLOW_USER with replicate_on_write=true;
update column family FOLLOW_USER_WITH_COMPANY with replicate_on_write=true;
update column family GROUP with replicate_on_write=true;
update column family GROUPBOX_TIMELINE with replicate_on_write=true;
update column family GROUPTYPE_GROUP with replicate_on_write=true;
update column family GROUP_COUNT with replicate_on_write=true;
update column family GROUP_INVITED with replicate_on_write=true;
update column family GROUP_JOINED with replicate_on_write=true;
update column family GROUP_MANAGED with replicate_on_write=true;
update column family GROUP_REQUESTED with replicate_on_write=true;
update column family HIDDENBOX_TIMELINE with replicate_on_write=true;
update column family IMBOX_CONTRIB_POLL_VOTES with replicate_on_write=true;
update column family IMBOX_CONTRIB_POLL_VOTE_COUNT with replicate_on_write=true;
update column family IMBOX_CONTRIB_POLL_VOTE_ITEMS with replicate_on_write=true;
update column family INVITE_GROUP with replicate_on_write=true;
update column family JOIN_GROUP with replicate_on_write=true;
update column family LIKE_MESSAGE with replicate_on_write=true;
update column family MAIL_NOTICE with replicate_on_write=true;
update column family MANAGE_GROUP with replicate_on_write=true;
update column family MESSAGE with replicate_on_write=true;
update column family MESSAGE_BOOKMARKED with replicate_on_write=true;
update column family MESSAGE_COUNT with replicate_on_write=true;
update column family MESSAGE_HISTORY with replicate_on_write=true;
update column family MESSAGE_LIKED with replicate_on_write=true;
update column family MESSAGE_NOTICED with replicate_on_write=true;
update column family MYBOX_TIMELINE with replicate_on_write=true;
update column family MYLIST with replicate_on_write=true;
update column family MYLIST_ADDED with replicate_on_write=true;
update column family MYLIST_TIMELINE with replicate_on_write=true;
update column family NOTICES_MEDIA with replicate_on_write=true;
update column family NOTICE_THREAD with replicate_on_write=true;
update column family NOTICE_USER with replicate_on_write=true;
update column family POST_THREAD with replicate_on_write=true;
update column family REFERENCE_THREAD with replicate_on_write=true;
update column family REQUEST_GROUP with replicate_on_write=true;
update column family TAG with replicate_on_write=true;
update column family TAG_COUNT with replicate_on_write=true;
update column family TAG_FOLLOWED with replicate_on_write=true;
update column family THREAD_COUNT with replicate_on_write=true;
update column family THREAD_POSTED with replicate_on_write=true;
update column family THREAD_REFERENCED with replicate_on_write=true;
update column family UNREAD_MESSAGE with replicate_on_write=true;
update column family UNREAD_TIMELINE with replicate_on_write=true;
update column family USER with replicate_on_write=true;
update column family USER_COUNT with replicate_on_write=true;
update column family USER_FOLLOWED with replicate_on_write=true;
update column family USER_FOLLOWED_WITH_COMPANY with replicate_on_write=true;
update column family USER_TIMELINE with replicate_on_write=true;
update column family WATCH_APPLICATION with replicate_on_write=true;
update column family WATCH_THREAD with replicate_on_write=true;
update column family WATCH_TIMELINE with replicate_on_write=true;
If you execute the program on versions before 2015 Winter(Lydia), the following messages might be displayed but there is no problem.
{Column Family Name} not found in current keyspace.
End the cassandra-cli command and it will be completed.
quit;
2. Rebuilding the existing count data
Perform a repair operation on all of the Cassandra in cluster configuration.
Connect to the console of the Cassandra server in cluster configuration.
Perform the repair operation using the nodetool command located under the $cassandra_home/bin directory.
The execution time of this command increases depending on the amount of data being stored.
When all Cassandra servers successfully processed, the measure is complete.
The modification has been done in the following requirement.
https://issue.intra-mart.jp/issues/20710 (Japanese)
-- Target------------------------------------------------------------------------
iAP/intra-mart Accel Platform/2013 Winter(Felicia)
iAP/intra-mart Accel Platform/2014 Spring(Granada)
iAP/intra-mart Accel Platform/2014 Summer(Honoka)
iAP/intra-mart Accel Platform/2014 Winter(Iceberg)
iAP/intra-mart Accel Platform/2015 Spring(Juno)
iAP/intra-mart Accel Platform/2015 Summer(Karen)
iAP/intra-mart Accel Platform/2015 Winter(Lydia)
--------------------------------------------------------------------------------
FAQID:599