[Gluster-devel] spurios failures in tests/encryption/crypt.t

2014-05-17 Thread Pranith Kumar Karampuri
hi,
 crypt.t is failing regression builds once in a while and most of the times 
it is because of the failures just after the remount in the script.

TEST rm -f $M0/testfile-symlink
TEST rm -f $M0/testfile-link

Both of these are failing with ENOTCONN. I got a chance to look at the logs.
According to the brick logs, this is what I see:
[2014-05-17 05:43:43.363979] E [posix.c:2272:posix_open] 0-patchy-posix: open 
on /d/backends/patchy1/testfile-symlink: Transport endpoint is not connected

This is the very first time I saw posix failing with ENOTCONN. Do we have these 
bricks on some other network mounts? I wonder why it fails with ENOTCONN.

I also see that it happens right after a call_bail on the mount.

Pranith
___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://supercolony.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Changes to Regression script

2014-05-17 Thread Pranith Kumar Karampuri


- Original Message -
 From: Vijay Bellur vbel...@redhat.com
 To: gluster-infra gluster-in...@gluster.org
 Cc: gluster-devel@gluster.org
 Sent: Tuesday, May 13, 2014 4:13:02 PM
 Subject: [Gluster-devel] Changes to Regression script
 
 Hi All,
 
 Me and Kaushal have effected the following changes on regression.sh in
 build.gluster.org:
 
 1. If a regression run results in a core and all tests pass, that
 particular run will be flagged as a failure. Previously a core that
 would cause test failures only would get marked as a failure.
 
 2. Cores from a particular test run are now archived and are available
 at /d/archived_builds/. This will also prevent manual intervention for
 managing cores.
 
 3. Logs from failed regression runs are now archived and are available
 at /d/logs/glusterfs-timestamp.tgz
 
 Do let us know if you have any comments on these changes.

This is already proving to be useful :-). I was able to debug one of the 
spurious failures for crypt.t. But the only problem is I was not able copy out 
the logs. Had to take avati's help to get the log files. Will it be possible to 
give access to these files so that anyone can download them?

Pranith

 
 Thanks,
 Vijay
 
 
 ___
 Gluster-devel mailing list
 Gluster-devel@gluster.org
 http://supercolony.gluster.org/mailman/listinfo/gluster-devel
 
___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://supercolony.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Changes to Regression script

2014-05-17 Thread Vijay Bellur

On 05/17/2014 02:10 PM, Pranith Kumar Karampuri wrote:



- Original Message -

From: Vijay Bellur vbel...@redhat.com
To: gluster-infra gluster-in...@gluster.org
Cc: gluster-devel@gluster.org
Sent: Tuesday, May 13, 2014 4:13:02 PM
Subject: [Gluster-devel] Changes to Regression script

Hi All,

Me and Kaushal have effected the following changes on regression.sh in
build.gluster.org:

1. If a regression run results in a core and all tests pass, that
particular run will be flagged as a failure. Previously a core that
would cause test failures only would get marked as a failure.

2. Cores from a particular test run are now archived and are available
at /d/archived_builds/. This will also prevent manual intervention for
managing cores.

3. Logs from failed regression runs are now archived and are available
at /d/logs/glusterfs-timestamp.tgz

Do let us know if you have any comments on these changes.


This is already proving to be useful :-). I was able to debug one of the 
spurious failures for crypt.t. But the only problem is I was not able copy out 
the logs. Had to take avati's help to get the log files. Will it be possible to 
give access to these files so that anyone can download them?



Good to know!

You can access the .tgz files from:

http://build.gluster.org:443/logs/

-Vijay

___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://supercolony.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Changes to Regression script

2014-05-17 Thread Pranith Kumar Karampuri


- Original Message -
 From: Vijay Bellur vbel...@redhat.com
 To: Pranith Kumar Karampuri pkara...@redhat.com
 Cc: gluster-infra gluster-in...@gluster.org, gluster-devel@gluster.org
 Sent: Saturday, May 17, 2014 2:52:03 PM
 Subject: Re: [Gluster-devel] Changes to Regression script
 
 On 05/17/2014 02:10 PM, Pranith Kumar Karampuri wrote:
 
 
  - Original Message -
  From: Vijay Bellur vbel...@redhat.com
  To: gluster-infra gluster-in...@gluster.org
  Cc: gluster-devel@gluster.org
  Sent: Tuesday, May 13, 2014 4:13:02 PM
  Subject: [Gluster-devel] Changes to Regression script
 
  Hi All,
 
  Me and Kaushal have effected the following changes on regression.sh in
  build.gluster.org:
 
  1. If a regression run results in a core and all tests pass, that
  particular run will be flagged as a failure. Previously a core that
  would cause test failures only would get marked as a failure.
 
  2. Cores from a particular test run are now archived and are available
  at /d/archived_builds/. This will also prevent manual intervention for
  managing cores.
 
  3. Logs from failed regression runs are now archived and are available
  at /d/logs/glusterfs-timestamp.tgz
 
  Do let us know if you have any comments on these changes.
 
  This is already proving to be useful :-). I was able to debug one of the
  spurious failures for crypt.t. But the only problem is I was not able copy
  out the logs. Had to take avati's help to get the log files. Will it be
  possible to give access to these files so that anyone can download them?
 
 
 Good to know!
 
 You can access the .tgz files from:
 
 http://build.gluster.org:443/logs/

Awesome!!

Pranith
 
 -Vijay
 
 
___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://supercolony.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] New project on the Forge - gstatus

2014-05-17 Thread Kaushal M
Avati that's awesome! I didn't know that the meta xlator could do that
already.


On Sat, May 17, 2014 at 9:30 AM, Anand Avati av...@gluster.org wrote:

 KP, Vipul,

 It will be awesome to get io-stats like instrumentation on the client
 side. Here are some further thoughts on how to implement that. If you have
 a recent git HEAD build, I would suggest that you explore the latency stats
 on the client side exposed through meta at
 $MNT/.meta/graphs/active/$xlator/profile. You can enable latency
 measurement with echo 1  $MNT/.meta/measure_latency. I would suggest
 extending these stats with the extra ones io-stats has, and make
 glusterfsiostats expose these stats.

 If you can compare libglusterfs/src/latency.c:gf_latency_begin(),
 gf_latency_end() and gf_latency_udpate() with the macros in io-stats.c 
 UPDATE_PROFILE_STATS()
 and START_FOP_LATENCY(), you will quickly realize how a lot of logic is
 duplicated between io-stats and latency.c. If you can enhance latency.c and
 make it capture the remaining stats what io-stats is capturing, the
 benefits of this approach would be:

 - stats are already getting captured at all xlator levels, and not just at
 the position where io-stats is inserted
 - file like interface makes the stats more easily inspectable and
 consumable, and updated on the fly
 - conforms with the way rest of the internals are exposed through
 $MNT/.meta

 In order to this, you might want to look into:

 - latency.c as of today captures fop count, mean latency, total time,
 whereas io-stats measures these along with min-time, max-time and
 block-size histogram.
 - extend gf_proc_dump_latency_info() to dump the new stats
 - either prettify that output like 'volume profile info' output, or
 JSONify it like xlators/meta/src/frames-file.c
 - add support for cumulative vs interval stats (store an extra copy of
 this-latencies[])

 etc..

 Thanks!


 On Fri, Apr 25, 2014 at 9:09 PM, Krishnan Parthasarathi 
 kpart...@redhat.com wrote:

 [Resending due to gluster-devel mailing list issue]

 Apologies for the late reply.

 glusterd uses its socket connection with brick processes (where io-stats
 xlator is loaded) to
 gather information from io-stats via an RPC request. This facility is
 restricted to brick processes
 as it stands today.

 Some background ...
 io-stats xlator is loaded, both in GlusterFS mounts and brick processes.
 So, we have the capabilities
 to monitor I/O statistics on both sides. To collect I/O statistics at the
 server side, we have

 # gluster volume profile VOLNAME [start | info | stop]
 AND
 #gluster volume top VOLNAME info [and other options]

 We don't have a usable way of gathering I/O statistics (not monitoring,
 though the counters could be enhanced)
 at the client-side, ie. for a given mount point. This is the gap
 glusterfsiostat aims to fill. We need to remember
 that the machines hosting GlusterFS mounts may not have glusterd
 installed on them.

 We are considering rrdtool as a possible statistics database because it
 seems like a natural choice for storing time-series
 data. rrdtool is capable of answering high-level statistical queries on
 statistics that were logged in it by io-stats xlator
 over and above printing running counters periodically.

 Hope this gives some more clarity on what we are thinking.

 thanks,
 Krish
 - Original Message -

  Probably me not understanding.

  the comment iostats making data available to glusterd over RPC - is
 what I
  latched on to. I wondered whether this meant that a socket could be
 opened
  that way to get at the iostats data flow.

  Cheers,

  PC

  - Original Message -

   From: Vipul Nayyar nayyar_vi...@yahoo.com
 
   To: Paul Cuzner pcuz...@redhat.com, Krishnan Parthasarathi
   kpart...@redhat.com
 
   Cc: Vijay Bellur vbel...@redhat.com, gluster-devel
   gluster-de...@nongnu.org
 
   Sent: Thursday, 20 February, 2014 5:06:27 AM
 
   Subject: Re: [Gluster-devel] New project on the Forge - gstatus
 

   Hi Paul,
 

   I'm really not sure, if this can be done in python(at least
 comfortably).
   Maybe we can tread on the same path as Justin's glusterflow in
 python. But
   I
   don't think, all the io-stats counters will be available with the way
 how
   Justin's used Jeff Darcy's previous work to build his tool. I can be
 wrong.
   My knowledge is a bit incomplete and based on very less experience as
 a
   user
   and an amateur Gluster developer. Please do correct me, if I can be.
 

   Regards
 
   Vipul Nayyar
 
 ___
 Gluster-devel mailing list
 Gluster-devel@gluster.org
 http://supercolony.gluster.org/mailman/listinfo/gluster-devel



 ___
 Gluster-devel mailing list
 Gluster-devel@gluster.org
 http://supercolony.gluster.org/mailman/listinfo/gluster-devel


___
Gluster-devel mailing list
Gluster-devel@gluster.org

[Gluster-devel] corrupted hash table

2014-05-17 Thread Emmanuel Dreyfus
This is master branch, client side:

Program terminated with signal 11, Segmentation fault.
#0  uuid_unpack (in=0xffc0 Address 0xffc0 out of bounds,
uu=0xbf7fd7b0) at ../../contrib/uuid/unpack.c:43

warning: Source file is more recent than executable.
43  tmp = *ptr++;
(gdb) print tmp
Cannot access memory at address 0xffc0
(gdb) bt
#0  uuid_unpack (in=0xffc0 Address 0xffc0 out of bounds,
uu=0xbf7fd7b0) at ../../contrib/uuid/unpack.c:43
#1  0xbb788f63 in uuid_compare (
uu1=0xffc0 Address 0xffc0 out of bounds,
uu2=0xb811f938 k\350_6) at ../../contrib/uuid/compare.c:46
#2  0xbb769993 in __inode_find (table=0xbb213368, gfid=0xb811f938 k\350_6)
at inode.c:763
#3  0xbb769cdc in __inode_link (inode=0x5a70b768, parent=optimized out,
name=0x5a7e3148 conf24746.file, iatt=0xb811f930) at inode.c:831
#4  0xbb769f3f in inode_link (inode=0x5a70b768, parent=0x5af47728,
name=0x5a7e3148 conf24746.file, iatt=0xb811f930) at inode.c:892
#5  0xbb36bdaa in fuse_create_cbk (frame=0xba417c44, cookie=0xbb28cb98,
this=0xb9cbe018, op_ret=0, op_errno=0, fd=0xb799e808, inode=0x5a70b768,
buf=0xb811f930, preparent=0xb811f998, postparent=0xb811fa00, xdata=0x0)
at fuse-bridge.c:1888
#6  0xb92a30a0 in io_stats_create_cbk (frame=0xbb28cb98, cookie=0xbb287418,
this=0xb9df2018, op_ret=0, op_errno=0, fd=0xb799e808, inode=0x5a70b768,
buf=0xb811f930, preparent=0xb811f998, postparent=0xb811fa00, xdata=0x0)
at io-stats.c:1260
#7  0xb92afd80 in mdc_create_cbk (frame=0xbb287418, cookie=0xbb28d7d8,
this=0xb9df1018, op_ret=0, op_errno=0, fd=0xb799e808, inode=0x5a70b768,
buf=0xb811f930, preparent=0xb811f998, postparent=0xb811fa00, xdata=0x0)
at md-cache.c:1404
#8  0xb92c790f in ioc_create_cbk (frame=0xbb28d7d8, cookie=0xbb28b008,
this=0xb9dee018, op_ret=0, op_errno=0, fd=0xb799e808, inode=0x5a70b768,
buf=0xb811f930, preparent=0xb811f998, postparent=0xb811fa00, xdata=0x0)
at io-cache.c:701
#9  0xbb3079ba in ra_create_cbk (frame=0xbb28b008, cookie=0xbb287f08,
this=0xb9dec018, op_ret=0, op_errno=0, fd=0xb799e808, inode=0x5a70b768,
buf=0xb811f930, preparent=0xb811f998, postparent=0xb811fa00, xdata=0x0)
at read-ahead.c:173
#10 0xb92f66b9 in dht_create_cbk (frame=0xbb287f08, cookie=0xbb28f988,
this=0xb9cff018, op_ret=0, op_errno=0, fd=0xb799e808, inode=0x5a70b768,
stbuf=0xb811f930, preparent=0xb811f998, postparent=0xb811fa00,
xdata=0x5c491028) at dht-common.c:3942
#11 0xb932fa22 in afr_create_unwind (frame=0xba40439c, this=0xb9cfd018)
at afr-dir-write.c:397
#12 0xb9330a02 in __afr_dir_write_cbk (frame=0xba40439c, cookie=0x2,
this=0xb9cfd018, op_ret=0, op_errno=0, buf=0xbf7fdfe4,
preparent=0xbf7fdf7c, postparent=0xbf7fdf14, preparent2=0x0,
postparent2=0x0, xdata=0x5cb61ea8) at afr-dir-write.c:244
#13 0xb939a401 in client3_3_create_cbk (req=0xb805f028, iov=0xb805f048,
count=1, myframe=0xbb28e4f8) at client-rpc-fops.c:2211
#14 0xbb7daecf in rpc_clnt_handle_reply (clnt=0xb9cd93b8, pollin=0x5a7dbe38)
at rpc-clnt.c:767
#15 0xbb7db7a4 in rpc_clnt_notify (trans=0xb80a7018, mydata=0xb9cd93d8,
---Type return to continue, or q return to quit---
event=RPC_TRANSPORT_MSG_RECEIVED, data=0x5a7dbe38) at rpc-clnt.c:895
#16 0xbb7d7d9c in rpc_transport_notify (this=0xb80a7018,
event=RPC_TRANSPORT_MSG_RECEIVED, data=0x5a7dbe38) at rpc-transport.c:512
#17 0xbb3214ab in socket_event_poll_in (this=0xb80a7018) at socket.c:2120
#18 0xbb3246fc in socket_event_handler (fd=16, idx=4, data=0xb80a7018,
poll_in=1, poll_out=0, poll_err=0) at socket.c:2233
#19 0xbb7a4c9a in event_dispatch_poll_handler (i=4, ufds=0xbb285118,
event_pool=0xbb242098) at event-poll.c:357
#20 event_dispatch_poll (event_pool=0xbb242098) at event-poll.c:436
#21 0xbb77a160 in event_dispatch (event_pool=0xbb242098) at event.c:113
#22 0x08050567 in main (argc=4, argv=0xbf7fe880) at glusterfsd.c:2023
(gdb) frame 2  
#2  0xbb769993 in __inode_find (table=0xbb213368, gfid=0xb811f938 k\350_6)
at inode.c:763
763 if (uuid_compare (tmp-gfid, gfid) == 0) {
(gdb) list 
758 return table-root;
759 
760 hash = hash_gfid (gfid, 65536);
761 
762 list_for_each_entry (tmp, table-inode_hash[hash], hash) {
763 if (uuid_compare (tmp-gfid, gfid) == 0) {
764 inode = tmp;
765 break;
766 }
767 }
-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
m...@netbsd.org
___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://supercolony.gluster.org/mailman/listinfo/gluster-devel