lots of .hdx files

Chris Muller asqueaker at gmail.com
Thu Apr 3 23:41:10 UTC 2008


>  Looking at that page, it says:
>
>  "These files are automatically cleaned up when the session disconnects."
>
>  The trouble is, what if you have, say, a long running MagmaSession
>  driving a Seaside application?  In my case, I'm just using the
>  MagmaSoloAuto helper, since it's a fairly simple, low-traffic
>  application, but because (as I understand it) the underlying
>  MagmaSession object *isn't* disconnected across Seaside session
>  boundaries, I get a huge number of .hdx files that never get deleted.
>
>  Or, at least, that's my speculation.  Does this sound likely?
>
>  Ultimately, my particular problem is that this behaviour, combined
>  with the open-file limits on seasidehosting.st, makes my application
>  impossible to deploy there, as it rapidly exceeds the maximum number
>  of open files allowed.

No, the number of open files has nothing to do with the number of
"transient" subcollections you've created.  Please see the method:

MagmaRepositoryController>>filePoolSize: anInteger
	"Set the maximum number of simultaneously-open files that Magma will have."
	repository filePoolSize: anInteger

>  Of course, for all that griping, the question is what to do about it.

Some options:

  - stop using the "luxury" features that create subcollections
  - Have you considered using #select: instead of #where:?

I'll try to think of other ideas, but it's hard without knowing more
about your app..

>  At minimum, I'd like to be able to instruct Magma to throw away
>  transient indexes at some time of my own choosing (in particular, when
>  a Seaside session expires).  Is this at all possible?

There is no support for that, but it might be possible to do.  The
trouble is you could still have a reference to the sub-MagmaCollection
in your image and try to access it.  That would cause a "object not
found" error..

Have you considered

> Heck, even the
>  stopgap solution of having these files *not* held open would be
>  useful, though I have no idea if that's doable, either.

If you are exceeding your hosting requirements you need to set down
your maxFilePoolSize:.

Regards,
  Chris


More information about the Magma mailing list