Re: 32-bit to 64-bit migration seen flags

2009-01-12 Thread ram

On Fri, 2009-01-09 at 11:53 -0500, Wesley Craig wrote:
 How are you copying?
 
 :wes

scp-ing  the files 


 
 On 09 Jan 2009, at 01:47, ram wrote:
  I am migrating mailboxes from a 32 bit cyrus (cyrus-2.3.7) to a 64 bit
  cyrus (2.3.13) server
 
  When I copy the mailbox seen flags(skiplist) from the 32 bit server to
  the 64 bit servers it does not work. All the mails are flagged as  
  unseen
  on the new server
 
  Is there a way I can migrate the seen flags


Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html


Re: 32-bit to 64-bit migration seen flags

2009-01-12 Thread Wesley Craig
On 12 Jan 2009, at 04:26, ram wrote:
 On Fri, 2009-01-09 at 11:53 -0500, Wesley Craig wrote:
 How are you copying?

 scp-ing  the files

Well, the data in the seen files is stored by unique ID of the  
mailbox -- which is stored as a string.  The data stored is the seen  
version (which has been 1 for a long time), the last read time  
(time_t cast to int), last uid (int), last change time (time_t cast  
to int), and seen uids (a string created earlier from unsigned long).

I suppose it's possible that the casts of time_t to int are  
corrupting your results.  What value is time_t on your system?  It  
absolutely true that casting time_t to int is *wrong*, and should be  
handled in some other way, e.g., TIME_T_FMT.  Of course, that has  
(different) implications for migrating between platforms as well.

You might try dumping the data with cyr_dbtool on yor 32-bit system  
and reloading it with cyr_dbtool on your 64-bit system.  I doubt that  
will help, but you never know.  I think a much more likely scenario  
is that however you're copying the mailboxes is causing the unique ID  
of the mailboxes to be re-assigned.  Since all of the data in the  
seen DB is keyed on the unique ID of the mailbox, if the unique ID of  
the mailbox changes, all of the seen data is effectively lost.   
Probably a uid validity change would have a similar effect.

:wes

 On 09 Jan 2009, at 01:47, ram wrote:
 I am migrating mailboxes from a 32 bit cyrus (cyrus-2.3.7) to a  
 64 bit
 cyrus (2.3.13) server

 When I copy the mailbox seen flags(skiplist) from the 32 bit  
 server to
 the 64 bit servers it does not work. All the mails are flagged as
 unseen
 on the new server

 Is there a way I can migrate the seen flags

Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html


Re: 32-bit to 64-bit migration seen flags

2009-01-12 Thread Bron Gondwana
On Mon, Jan 12, 2009 at 11:20:07AM -0500, Wesley Craig wrote:
 On 12 Jan 2009, at 04:26, ram wrote:
  On Fri, 2009-01-09 at 11:53 -0500, Wesley Craig wrote:
  How are you copying?
 
  scp-ing  the files
 
 Well, the data in the seen files is stored by unique ID of the  
 mailbox -- which is stored as a string.  The data stored is the seen  
 version (which has been 1 for a long time), the last read time  
 (time_t cast to int), last uid (int), last change time (time_t cast  
 to int), and seen uids (a string created earlier from unsigned long).
 
 I suppose it's possible that the casts of time_t to int are  
 corrupting your results.  What value is time_t on your system?  It  
 absolutely true that casting time_t to int is *wrong*, and should be  
 handled in some other way, e.g., TIME_T_FMT.  Of course, that has  
 (different) implications for migrating between platforms as well.

Yeah - when I was playing with skiplist2 a while back, I set aside 64
bits for each time value (there are only a couple of them in the
header, and we have spare slots in the header anyway.
 
 You might try dumping the data with cyr_dbtool on yor 32-bit system  
 and reloading it with cyr_dbtool on your 64-bit system.  I doubt that  
 will help, but you never know.  I think a much more likely scenario  
 is that however you're copying the mailboxes is causing the unique ID  
 of the mailboxes to be re-assigned.  Since all of the data in the  
 seen DB is keyed on the unique ID of the mailbox, if the unique ID of  
 the mailbox changes, all of the seen data is effectively lost.   
 Probably a uid validity change would have a similar effect.

the uniqueid is stored in the cyrus.header file.  If you're copying the
cyrus.header files then you shouldn't lose it.

Bron.

Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html


Re: 32-bit to 64-bit migration seen flags

2009-01-09 Thread Wesley Craig
How are you copying?

:wes

On 09 Jan 2009, at 01:47, ram wrote:
 I am migrating mailboxes from a 32 bit cyrus (cyrus-2.3.7) to a 64 bit
 cyrus (2.3.13) server

 When I copy the mailbox seen flags(skiplist) from the 32 bit server to
 the 64 bit servers it does not work. All the mails are flagged as  
 unseen
 on the new server

 Is there a way I can migrate the seen flags

Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html


32-bit to 64-bit migration seen flags

2009-01-08 Thread ram
I am migrating mailboxes from a 32 bit cyrus (cyrus-2.3.7) to a 64 bit
cyrus (2.3.13) server 

When I copy the mailbox seen flags(skiplist) from the 32 bit server to
the 64 bit servers it does not work. All the mails are flagged as unseen
on the new server 

Is there a way I can migrate the seen flags 

Thanks
Ram




Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html