One note I forgot to add... the error doesn't consistently happen during creation of the same model. It's happened on different models being created, which also leads me to think it might be a threading issue...
On Sep 2, 9:39 am, Bryan Richardson <[email protected]> wrote: > Hello, > > I'm using DataMapper with JRuby using the Java version of DataObjects > and do_postgres, along with do_jdbc and jdbc_postgres. > > The reason I'm using JRuby is because I need real threads to speed up > my application (I'm parsing large data files and putting the data > parsed into a database). The models I'm persisting via different > threads all have the same model instance as a parent model (i.e. each > new model created in separate threads has a Simulation model with ID = > 5 that it belongs to). > > After a while of parsing, I get the following error: > > @@@ > F, [2010-09-02T09:21:36.926000 #7903] FATAL -- : instance variable > @_save_parents_sentinel not defined (NameError) > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1048:in > `remove_instance_variable' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1236:in `run_once' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1047:in `save_parents' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1051:in `save_parents' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1048:in `each' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1048:in `map' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1048:in `save_parents' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1234:in `run_once' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1047:in `save_parents' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1051:in `save_parents' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1048:in `each' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1048:in `map' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1048:in `save_parents' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1234:in `run_once' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1047:in `save_parents' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1018:in `_save' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1234:in `run_once' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:1017:in `_save' > /home/scrapcoder/devel/simulator/src/configurator/vendor/data-mapper/ > dm-core-1.0.0/lib/dm-core/resource.rb:417:in `save' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:308:in `parse_generator_data' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:221:in `filter' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:67:in `each' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:67:in `filter' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:66:in `open' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:66:in `filter' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:42:in `parse' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:41:in `initialize' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:41:in `new' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:41:in `parse' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:38:in `each' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/parsers/ > epc.rb:38:in `parse' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/ > configurator.rb:12:in `parse_input_files' > /home/scrapcoder/devel/simulator/src/configurator/lib/sim/ > configurator.rb:73:in `parse' > bin/sim-config:93:in `run' > /home/scrapcoder/devel/simulator/src/configurator/vendor/main/ > main-4.2.0/lib/main/program/class_methods.rb:147:in `run' > /home/scrapcoder/devel/simulator/src/configurator/vendor/main/ > main-4.2.0/lib/main/program/class_methods.rb:135:in `catch' > /home/scrapcoder/devel/simulator/src/configurator/vendor/main/ > main-4.2.0/lib/main/program/class_methods.rb:135:in `run' > /home/scrapcoder/devel/simulator/src/configurator/vendor/main/ > main-4.2.0/lib/main/factories.rb:18:in `run' > /home/scrapcoder/devel/simulator/src/configurator/vendor/main/ > main-4.2.0/lib/main/factories.rb:25:in `Main' > bin/sim-config:11 > @@@ > > I'm not sure what this means exactly, but might it be due to the > parent model trying to be (re)saved for some reason at the same time > by different models being created in different threads? Anyone have an > idea of what's going on? > > -- > Thanks! > Bryan -- You received this message because you are subscribed to the Google Groups "DataMapper" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/datamapper?hl=en.
