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.
