I will just add that the failures I was experiencing involved storing 
"documents" with deep hierarchies of heterogeneous items.  Something along the 
lines of EMR's (electronic medical records - which if you have any experience 
in that domain - are very complex).

The failures would manifest as randomly thrown exceptions while trying to read 
a particularly large and complex hierarchy - which would result in documents 
missing segments when rendered.  Rescuing the data took a couple weeks of 
constantly trying to read smaller chunks and retrying when exceptions were 
thrown.

So I would include tests along those lines before trusting it with important 
data.  The database I was working with was quite large when reads began to fail.

> On Jun 24, 2018, at 3:33 PM, Matias Maretto <mgmare...@hotmail.com> wrote:
> 
> Thank you for the info Peter ; I have been working storing and retrieving 
> data , everything works fine. I have an ODBPErsistDictionary with almost 
> 20.000 objects on it, I really get sorprised of how fast can resolve 
> "select:[] commands"; I know it is not related with the subjet we are 
> working, but well 😊
> 
> 
> 
> 
> De: Pharo-users <pharo-users-boun...@lists.pharo.org 
> <mailto:pharo-users-boun...@lists.pharo.org>> en nombre de PBKResearch 
> <pe...@pbkresearch.co.uk <mailto:pe...@pbkresearch.co.uk>>
> Enviado: domingo, 24 de junio de 2018 05:54 p. m.
> Para: 'Any question about pharo is welcome'
> Asunto: Re: [Pharo-users] OmniBase for Pharo 6
>  
> Hi Matias (and EstebanLM)
>  
> I have explained the problem with storing and retrieving Date. Looking 
> through the OmniBase code in the repository, I see that there is a whole 
> series of extensions for many of the standard classes, which provide methods 
> for serializing and deserializing instances of those classes. The extension 
> for Date class ignores the start time, and simply saves the day number; the 
> retrieval method can only use the days, and so cannot take account of the 
> offset for the time zone. If it is necessary to save and restore dates in a 
> way which is time-zone sensitive, it will be necessary to modify the code for 
> serializing dates to store day and offset. I have not yet worked out how the 
> methods are structured, so I have not tried to recode, but all the methods I 
> have looked at are only one or two lines, so it should not be difficult.
>  
> Looking through the classes with extensions, I realise that we may need to 
> check rather more examples to be sure that everything is handled correctly. I 
> did one little test with String. The standard test in TestEquality just 
> stores and retrieves ‘Hello World’. To check that it could handle other 
> encodings, I tried the test with a German string encoded in utf8. This worked 
> OK. So thus far everything is fine, but it would be a good idea to check 
> correct retrieval each time we persist a new class of object.
>  
> Best wishes
>  
> Peter Kenny
>  
> From: Pharo-users <pharo-users-boun...@lists.pharo.org 
> <mailto:pharo-users-boun...@lists.pharo.org>> On Behalf Of Matias Maretto
> Sent: 23 June 2018 19:40
> To: Any question about pharo is welcome <pharo-users@lists.pharo.org 
> <mailto:pharo-users@lists.pharo.org>>
> Subject: Re: [Pharo-users] OmniBase for Pharo 6
>  
> Hi Peter, thanks for the news. I have been doing some tests, persisting 
> diferent kind of objects and until now everythings works fine.
> If you find anything else, please let me now.
>  
> Thanks.
> Matias.
>  
>  
> De: Pharo-users <pharo-users-boun...@lists.pharo.org 
> <mailto:pharo-users-boun...@lists.pharo.org>> en nombre de PBKResearch 
> <pe...@pbkresearch.co.uk <mailto:pe...@pbkresearch.co.uk>>
> Enviado: sĂĄbado, 23 de junio de 2018 05:18 p. m.
> Para: 'Any question about pharo is welcome'
> Asunto: Re: [Pharo-users] OmniBase for Pharo 6
>  
> Hi Matias
>  
> A further report. I have worked through the test suite in OmniBaseTests, 
> running each test individually. I now have all green except two – 
> testEquality, which fails on the storage and retrieval of ‘Date today’, and 
> testGC, which fails for reasons I have not yet found.
>  
> The worrying thing is the apparent change in the instance variables of Date – 
> see my exchange with Alistair Grant in another thread. I shall try to work 
> through the way OmniBase saves and resets the instvars, just in case it might 
> be a general problem.
>  
> I shall let you know of anything else I find.
>  
> Peter Kenny
>  
> From: Pharo-users <pharo-users-boun...@lists.pharo.org 
> <mailto:pharo-users-boun...@lists.pharo.org>> On Behalf Of PBKResearch
> Sent: 23 June 2018 09:18
> To: 'Any question about pharo is welcome' <pharo-users@lists.pharo.org 
> <mailto:pharo-users@lists.pharo.org>>
> Subject: Re: [Pharo-users] OmniBase for Pharo 6
>  
> Matias
>  
> Thanks. I have made this change, but it does not affect the tests I have run.
>  
> I have focused on getting the test suite in OmniBaseTests to run. So far I 
> still have 5 greens, 7 reds and one orange. The greens are all the first five 
> test methods in the browser list; it seems it half fails on the sixth one 
> (TestEquality), hence the orange, and then red for all the rest.
>  
> One problem is that the test database is created at the start of the test 
> suite, and then not removed at the end. This seems to mess up the next 
> attempt to run the tests. I tried to run the OmniBaseTests>>#tearDown 
> manually, but it fails, so I have to exit Pharo and delete the test database 
> in Windows.
>  
> I intend to continue running the test suite, but I shall run the tests 
> individually, and put breakpoints in those that fail. I shall report here if 
> I make any progress.
>  
> Best wishes
>  
> Peter Kenny
>  
> From: Pharo-users <pharo-users-boun...@lists.pharo.org 
> <mailto:pharo-users-boun...@lists.pharo.org>> On Behalf Of Matias Maretto
> Sent: 23 June 2018 01:37
> To: Any question about pharo is welcome <pharo-users@lists.pharo.org 
> <mailto:pharo-users@lists.pharo.org>>
> Subject: Re: [Pharo-users] OmniBase for Pharo 6
>  
> Peter: I think I found the problem. On ODBFileStream class >> 
> accessModeReadOnly the "o" on "only" is not capital. It is  
> ^#accessModeReadonly  when should be ^#accessModeReadOnly ; so on the 
> ODBWin32FileStream >> createOn:  createMode:  accessMode:  shareMode:  
> cacheMode:  this part fails:
> accessMode = #accessModeReadOnly ifTrue: [acMode := 2147483648 
> "GENERIC_READ"].
> So it cant open the users file for read.  I have fix it and at least for now 
> I didn't get any "block" error.
>  
>  
>  
> De: Pharo-users <pharo-users-boun...@lists.pharo.org 
> <mailto:pharo-users-boun...@lists.pharo.org>> en nombre de PBKResearch 
> <pe...@pbkresearch.co.uk <mailto:pe...@pbkresearch.co.uk>>
> Enviado: viernes, 22 de junio de 2018 10:39 p. m.
> Para: 'Any question about pharo is welcome'
> Asunto: Re: [Pharo-users] OmniBase for Pharo 6 
>  
> Matias
>  
> Thanks for the hints. I now have 5 greens, but all the rest are red. I am 
> still getting the ‘File cannot be locked’ message. Are you doing better than 
> that? I may try a few trials using it for real, rather than the test suite.
>  
> Thanks again
>  
> Peter Kenny
>  
> From: Pharo-users <pharo-users-boun...@lists.pharo.org 
> <mailto:pharo-users-boun...@lists.pharo.org>> On Behalf Of Matias Maretto
> Sent: 22 June 2018 22:54
> To: Any question about pharo is welcome <pharo-users@lists.pharo.org 
> <mailto:pharo-users@lists.pharo.org>>
> Subject: Re: [Pharo-users] OmniBase for Pharo 6
>  
> Hi Peter, yes I had the same error at the beginning. I have done 2 minor  
> changes. Now it seems to be working fine (Although I am still running more 
> tests). Here: 
>  
> ODBWin32FileStream >> 
> closeHandle: aHandle
> "Close an open Win32 object handle, freeing any resources held by it.
> Once closed a handle is no longer valid. Answer whether the function
> succeeds.
> See Win32 SDK help for more information.
>  
> BOOL CloseHandle(
> HANDLE  hObject
> // handle of object to close  
> );"
>  
> "<apicall: ulong 'CloseHandle' (long) module:'kernel32.dll'>"
> ^ self ffiCall: #(ulong CloseHandle(long aHandle))
>  
>  
>  
> ODBWin32FileStream >> 
> lockFile: aHandle offsetLow: loPos offsetHigh: hiPos lengthLow: loLength 
> lengthHigh: hiLength
> "<apicall: long 'LockFile' (long ulong ulong ulong ulong) module: 
> 'kernel32.dll'>"
>  
> ^ self
> ffiCall: #(long LockFile #(long aHandle , ulong loPos , ulong hiPos , ulong 
> loLength , ulong hiLength))
>  
>  
>  
> De: Pharo-users <pharo-users-boun...@lists.pharo.org 
> <mailto:pharo-users-boun...@lists.pharo.org>> en nombre de PBKResearch 
> <pe...@pbkresearch.co.uk <mailto:pe...@pbkresearch.co.uk>>
> Enviado: viernes, 22 de junio de 2018 09:45 p. m.
> Para: 'Any question about pharo is welcome'
> Asunto: Re: [Pharo-users] OmniBase for Pharo 6 
>  
> Matias
>  
> I have just loaded Esteban’s package in a new Pharo 6.1 under Windows 10. I 
> get an error message saying ‘File cannot be locked. Try again?’. When I 
> select ‘no’, all tests are run and give red. Are you still running on win 7? 
> If so, I must be doing something wrong. Can you give more details of the FFI 
> corrections you made, please?
>  
> Many thanks
>  
> Peter Kenny
>  
> From: Pharo-users <pharo-users-boun...@lists.pharo.org 
> <mailto:pharo-users-boun...@lists.pharo.org>> On Behalf Of Matias Maretto
> Sent: 22 June 2018 21:07
> To: Any question about pharo is welcome <pharo-users@lists.pharo.org 
> <mailto:pharo-users@lists.pharo.org>>
> Subject: Re: [Pharo-users] OmniBase for Pharo 6
>  
> Esteban: it's working fine, I had to made a minor corrections on 2 FFI calls 
> and now everithing seems to be working fine.
> For What I saw with Voyage-UnqLite only String Objects can be used to 
> searilize; Omnibase allow to persist almost any kind of objects, thats the 
> part I like about it. 
>  
>  
>  
> De: Pharo-users <pharo-users-boun...@lists.pharo.org 
> <mailto:pharo-users-boun...@lists.pharo.org>> en nombre de Esteban Lorenzano 
> <esteba...@gmail.com <mailto:esteba...@gmail.com>>
> Enviado: jueves, 21 de junio de 2018 08:19 p. m.
> Para: Any question about pharo is welcome
> Asunto: Re: [Pharo-users] OmniBase for Pharo 6 
>  
> I did it manually and I took like 5 min :P
> but this was really easy, just a bunch of FFI calls.
> 
> Esteban
> 
> > On 21 Jun 2018, at 15:31, Sean P. DeNigris <s...@clipperadams.com 
> > <mailto:s...@clipperadams.com>> wrote:
> > 
> > EstebanLM wrote
> >> I just made a “blind port”… migrated the old FFI to new UFFI
> > 
> > Did you do this manually or use some migration tool? How long did it take?
> > 
> > 
> > 
> > -----
> > Cheers,
> > Sean
> > --
> > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html 
> > <http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html>
> Smalltalk - Pharo Smalltalk Users | Mailing List Archive 
> <http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html>
> forum.world.st <http://forum.world.st/>
> Pharo Smalltalk Users forum and mailing list archive. Pharo User Forum
> 
> 
> > 
> 

Reply via email to