Bug 1062159

Summary: Dist-geo-rep : monitor got killed in intermediate master in cascaded setup while syncing meta data with "ValueError: signal only works in main thread"
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Vijaykumar Koppad <vkoppad>
Component: geo-replicationAssignee: Bug Updates Notification Mailing List <rhs-bugs>
Status: CLOSED DUPLICATE QA Contact: Sudhir D <sdharane>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 2.1CC: aavati, avishwan, bbandari, csaba, fharshav, nlevinki
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-07 06:55:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vijaykumar Koppad 2014-02-06 11:05:25 UTC
Description of problem:  monitor got killed in intermediate master in cascaded setup while syncing meta data with "ValueError: signal only works in main thread". 

Backtrace in geo-rep intermediate master log-file

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[2014-02-06 17:51:14.20453] I [master(/bricks/brick6):438:crawlwrap] _GMaster: crawl interval: 60 seconds
[2014-02-06 17:52:10.319305] E [syncdutils(monitor):240:log_raise_exception] <top>: FAIL: 
Traceback (most recent call last):
  File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 266, in twrap
    tf(*aa)
  File "/usr/libexec/glusterfs/python/syncdaemon/monitor.py", line 190, in wmon
    cpid, _ = self.monitor(w, argv, cpids)
  File "/usr/libexec/glusterfs/python/syncdaemon/monitor.py", line 161, in monitor
    self.terminate()
  File "/usr/libexec/glusterfs/python/syncdaemon/monitor.py", line 89, in terminate
    set_term_handler(lambda *a: set_term_handler())
  File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 332, in set_term_handler
    signal(SIGTERM, hook)
ValueError: signal only works in main thread
[2014-02-06 17:52:10.341447] I [syncdutils(monitor):192:finalize] <top>: exiting.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Version-Release number of selected component (if applicable):glusterfs-3.4.0.59rhs-1


How reproducible: This happens often.


Steps to Reproduce:
1.create a geo-rep relationship in a cascaded setup. ( master->imaster->slave)
2.create data on master
3.start geo-rep relation ship between master and imaster.
4.wait for it to sync to imaster,
5.after it syncs completely to imaster, start geo-rep between imaster and slave
6.Check if the monitor gets killed, if not try the above steps again. 

Actual results: monitor got killed in intermediate master with "ValueError: signal only works in main thread"


Expected results: Monitor should never be killed. 


Additional info:

Comment 2 Aravinda VK 2014-07-07 06:55:50 UTC

*** This bug has been marked as a duplicate of bug 1044420 ***