Kepler: Issueshttps://projects.ecoinformatics.org/ecoinfo/https://projects.ecoinformatics.org/ecoinfo/ecoinfo/favicon.ico?14691340362011-04-13T22:58:56ZEcoinformatics Redmine
Redmine Bug #5379 (Resolved): SPAN - add writing metadata changes to pending fileshttps://projects.ecoinformatics.org/ecoinfo/issues/53792011-04-13T22:58:56ZDerik Barseghianbarseghian@nceas.ucsb.edu
<p>If spanToDT crashes, SPAN will keep running, writing data to files in the pending folder, which are successfully picked up on spanToDT restart. It would be great if SPAN also wrote metadata changes. We'd be able to completely recover from a spanToDT crash then.</p> Bug #5335 (Resolved): SpanToDT should write metadata first rather than data when it starts uphttps://projects.ecoinformatics.org/ecoinfo/issues/53352011-03-03T19:32:25ZJing Taotao@nceas.ucsb.edu
<p>When i starts the SpanToDT, here are the statement from sdtout:</p>
<pre><code>[run] archive size (in frames):1000000<br /> [run] cache size (in frames):2<br /> [run] flushing every 60 seconds<br /> [run] detaching every 60 flushes, which is every 3600 seconds<br /> [run] writing full metadata every 1 minutes<br /> [run] connected to span data.<br /> [run] connected to span metadata.<br /> [run] wrote data (PutDataAsFlaot64): 68.3531692080818 to channelIndex:0 for time:1.299178964002E9<br /> [run] wrote data (PutDataAsFlaot64): 93.76955538060749 to channelIndex:2 for time:1.299178964006E9<br /> [run] wrote data (PutDataAsFlaot64): 2.411074232369337 to channelIndex:0 for time:1.299178966003E9<br /> ....................................................<br /> ....................................................<br /> [run] wrote data (PutDataAsFlaot64): 98.79339411591688 to channelIndex:2 for time:1.299179022017E9</code></pre>
<pre><code>[run] flushed at Thu Mar 03 11:03:43 PST 2011<br /> [run] wrote metadata (PutDataAsString): CR800_sensor0 coefficients=,conversion-type=Linear,isOn=true,latitude=32.884164,longitude=-117.239957,measurement-unit=degrees Celsius,sampleMethod=average,samples-per-measurement=10,samplingPeriod=2,sensor-make=Vaisala,sensor-measurement=Temperature,sensor-model=HMP45A,serial-number=B3310000 to channelIndex:1 for time:1.299179023898E9<br /> [run] wrote metadata (PutDataAsString): CR800_sensor1 coefficients=,conversion-type=Linear,isOn=true,latitude=32.884243999999995,longitude=-117.239457,measurement-unit=degrees Celsius,sampleMethod=average,samples-per-measurement=10,samplingPeriod=2,sensor-make=Vaisala,sensor-measurement=Temperature,sensor-model=HMP45A,serial-number=B3310001 to channelIndex:3 for time:1.299179023902E9</code></pre>
<p>For sensor0, the first writing data happened at 1.299178964002E9, but the first writing metadata at 1.299179023898E9.</p>
<p>So it wrote data first, then wrote metadata after a while. But we needs the opposite way: writing metadata before writing data.</p> Bug #5323 (Resolved): saving Site Layout workflow makes Sensor actor parameters editablehttps://projects.ecoinformatics.org/ecoinfo/issues/53232011-02-23T22:25:20ZDerik Barseghianbarseghian@nceas.ucsb.edu
<p>I believe all Sensor actor parameters are only supposed to be editable when the workflow is running.<br />If you import a site layout, this is true. However once you save the workflow as either kar or xml, post-save all params are editable.</p> Bug #5321 (Resolved): sensor settings made by kepler user lost on SPAN restarthttps://projects.ecoinformatics.org/ecoinfo/issues/53212011-02-23T20:26:50ZDerik Barseghianbarseghian@nceas.ucsb.edu
<p>To start SPAN you</p>
<p>generate a config file from a CRBasic program:<br />./cr_parser.py conf/sq110_and_bps.CR8 span.cfg</p>
<p>and then start SPAN using it:<br />./cr1k_d CR800 span.cfg<br />./dcd_mgr span.cfg</p>
<p>Currently SPAN crashes periodically, requiring restart. Even if that weren't the case, we still need to function smoothly when the gumstix power cycles (thus restarting SPAN). If a user makes sensor changes via Kepler, and then SPAN is restarted, since the CRBasic program is never updated, the user sensor settings are lost.</p>
<p>Possible solutions, neither of which are currently supported afaik, seem to be:<br />1) download from the logger the CRBasic program whenever changes are made, thus keeping it in sync.<br />2) simply start SPAN without overwriting existing settings on the logger, e.g. with a mostly blank config.</p> Bug #5287 (Resolved): Remove the override of ActorMetadataKAREntryHandlerhttps://projects.ecoinformatics.org/ecoinfo/issues/52872011-01-31T23:52:48ZSean Riddleswriddle@gmail.com
<p>Currently, the fix to bug 5251 is implemented in the form of an override to org.kepler.kar.handlers.ActorMetadataKAREntryHandler (originally in the core module). The override chooses to instantiate either an EVEffigy if the workflow is a sensor site or a PtolemyEffigy otherwise (rather than just a PtolemyEffigy regardless).</p>
<p>Possible solutions include just moving this to Ptolemy. The sensor site detection and EVEffigy instantiation would have to be done through reflection, which would be messy.</p> Bug #5275 (Resolved): Executing sensor-view workflow records provenancehttps://projects.ecoinformatics.org/ecoinfo/issues/52752011-01-19T23:37:30ZDerik Barseghianbarseghian@nceas.ucsb.edu
<p>Executing a sensor view workflow isn't supposed to record data to provenance because the director is DE.</p>
<p>Replicate:<br />start kepler<br />File->Import Sensor Site->From SPAN Host: gpp.msi.ucsb.edu (ping me if it's down)<br />Note Provenance button remains green/on<br />Execute workflow, run is recorded and shown in WRM</p> Bug #5253 (Resolved): SpanToDT timestamp bughttps://projects.ecoinformatics.org/ecoinfo/issues/52532010-12-09T01:27:35ZDerik Barseghianbarseghian@nceas.ucsb.edu
<p>SpanToDT has a bug that Dan and I tracked down today. DataTurbine outputs errors like:</p>
<pre><code>Cannot add frame to gpp, it starts before the end of the previous frame.<br /> End of previous frame: 1.291854708E9 Start of new frame: 1.291854679E9</code></pre>
<p>This is because a line in PeriodicReadFullMetadataThread uses the system that's running SpanToDT's clock:<br />SpanMetadata.SensorMetadata metadata = new SpanMetadata.SensorMetadata(fullName, new Date(), sensorMetadata);</p>
<p>derik_: why's that line using a new Date()? shouldn't it just use the corresponding sensor date?<br />crawl: SpanToDT periodically queries all the metadata for each sensor, the frequency set by that arg<br />crawl: in this case it comes from the control port, not the live metadata port<br />crawl: the fix is to use the timestamp in the response</p> Bug #5208 (Resolved): Setting sensor sampling rate <1 causes errorshttps://projects.ecoinformatics.org/ecoinfo/issues/52082010-10-19T00:34:38ZDerik Barseghianbarseghian@nceas.ucsb.edu
<p>If you configure a sensor actor to a sensor rate less than 1, like .5 or .9, you quickly get a few different types of errors, which messes up/stops monitoring, and I think sometimes messes up the simulator.</p> Bug #5207 (Resolved): Sensor changes color in response to configuring the actor even if no change...https://projects.ecoinformatics.org/ecoinfo/issues/52072010-10-19T00:21:42ZDerik Barseghianbarseghian@nceas.ucsb.edu
<p>If you import a sensor site, and don't run it, but simply Configure Actor a given sensor actor, and then hit cancel after making no changes, the actor changes colors from what i think is a dark gray to a dull red/brown. I'm guessing the color change denotes a change is pending to send to the SPAN server, but no change was made.</p> Bug #5206 (Resolved): Importing or opening a sensor site doesn't open into the sensor site viewhttps://projects.ecoinformatics.org/ecoinfo/issues/52062010-10-19T00:16:48ZDerik Barseghianbarseghian@nceas.ucsb.edu
<p>Importing or opening a saved sensor site doesn't necessarily change your set of views to Sensor Site and Plot Designer, they often open into the Workflow Editor. Also, if you have a workflow open, an imported sensor site will be placed into this workflow; it should probably be a new window.</p> Bug #5205 (Resolved): Sensor site components not yet in treehttps://projects.ecoinformatics.org/ecoinfo/issues/52052010-10-19T00:12:31ZDerik Barseghianbarseghian@nceas.ucsb.edu
<p>When in Sensor Site view, the component library is empty. The SpanActor, Datalogger, and Sensor components should show up.</p> Bug #5201 (Resolved): track changes on span serverhttps://projects.ecoinformatics.org/ecoinfo/issues/52012010-10-15T21:55:29ZDaniel Crawldanielcrawl@gmail.com
<p>When a command is successfully issued to a SPAN server, e.g., turn sensor off, change sampling rate, etc., the command should be logged to the DataTurbine server. This is required so that accurate EML and SensorML documents can be constructed to describe the sensor site.</p> Bug #5172 (Resolved): Exceptions are sometimes thrown during sensor workflow runhttps://projects.ecoinformatics.org/ecoinfo/issues/51722010-09-08T23:15:50ZSean Riddleswriddle@gmail.com
<p>When running a sensor workflow (importing the localhost sensor simulator site), I will intermittently encounter one of three exceptions. I haven't checked, but I suspect that any sensor names given are not consistent between instances of an exception. Kepler will intercept the exception properly, and display an error message, stopping the workflow.</p>
<p>The exceptions are attached below:</p>
<p>--Exception 1 start--<br />ptolemy.kernel.util.InternalErrorException: Failed to compute port depth for .Unnamed1.sensor8.data<br /> at ptolemy.actor.util.CausalityInterfaceForComposites._computeInputDepth(CausalityInterfaceForComposites.java:696)<br /> at ptolemy.actor.util.CausalityInterfaceForComposites._computeOutputPortDepth(CausalityInterfaceForComposites.java:756)<br /> at ptolemy.actor.util.CausalityInterfaceForComposites._computeInputDepth(CausalityInterfaceForComposites.java:692)<br /> at ptolemy.actor.util.CausalityInterfaceForComposites._computeActorDepth(CausalityInterfaceForComposites.java:527)<br /> at ptolemy.actor.util.CausalityInterfaceForComposites.getDepthOfPort(CausalityInterfaceForComposites.java:373)<br /> at ptolemy.domains.de.kernel.DEDirector._getDepthOfIOPort(DEDirector.java:1582)<br /> at ptolemy.domains.de.kernel.DEDirector._enqueueTriggerEvent(DEDirector.java:1541)<br /> at ptolemy.domains.de.kernel.DEReceiver.put(DEReceiver.java:162)<br /> at ptolemy.actor.AbstractReceiver.putToAll(AbstractReceiver.java:332)<br /> at ptolemy.actor.IOPort.broadcast(IOPort.java:288)<br /> at ptolemy.actor.TypedIOPort.broadcast(TypedIOPort.java:238)<br /> at org.kepler.sensor.actor.Sensor.fire(Sensor.java:323)<br /> at ptolemy.domains.de.kernel.DEDirector.fire(DEDirector.java:568)<br /> at ptolemy.actor.CompositeActor.fire(CompositeActor.java:459)<br /> at ptolemy.actor.Manager.iterate(Manager.java:749)<br /> at ptolemy.actor.Manager.execute(Manager.java:351)<br /> at ptolemy.actor.Manager.run(Manager.java:1164)<br /> at ptolemy.actor.Manager$3.run(Manager.java:1217)<br />--Exception 1 stop--</p>
<p>--Exception 2 start--<br />ptolemy.kernel.util.InternalErrorException: Because:<br />Attempt to get depth of ioPort .Unnamed1.CR800.sensors that was not sorted.<br /> at ptolemy.domains.de.kernel.DEReceiver.put(DEReceiver.java:165)<br /> at ptolemy.actor.AbstractReceiver.putToAll(AbstractReceiver.java:332)<br /> at ptolemy.actor.IOPort.broadcast(IOPort.java:288)<br /> at ptolemy.actor.TypedIOPort.broadcast(TypedIOPort.java:238)<br /> at org.kepler.sensor.actor.Sensor.fire(Sensor.java:323)<br /> at ptolemy.domains.de.kernel.DEDirector.fire(DEDirector.java:568)<br /> at ptolemy.actor.CompositeActor.fire(CompositeActor.java:459)<br /> at ptolemy.actor.Manager.iterate(Manager.java:749)<br /> at ptolemy.actor.Manager.execute(Manager.java:351)<br /> at ptolemy.actor.Manager.run(Manager.java:1164)<br /> at ptolemy.actor.Manager$3.run(Manager.java:1217)<br />Caused by: ptolemy.kernel.util.IllegalActionException: Attempt to get depth of ioPort .Unnamed1.CR800.sensors that was not sorted.<br /> at ptolemy.actor.util.CausalityInterfaceForComposites.getDepthOfPort(CausalityInterfaceForComposites.java:379)<br /> at ptolemy.domains.de.kernel.DEDirector._getDepthOfIOPort(DEDirector.java:1582)<br /> at ptolemy.domains.de.kernel.DEDirector._enqueueTriggerEvent(DEDirector.java:1541)<br /> at ptolemy.domains.de.kernel.DEReceiver.put(DEReceiver.java:162)<br /> ... 10 more<br />Caused by: ptolemy.kernel.util.IllegalActionException: Attempt to get depth of ioPort .Unnamed1.CR800.sensors that was not sorted.<br /> at ptolemy.actor.util.CausalityInterfaceForComposites.getDepthOfPort(CausalityInterfaceForComposites.java:379)<br /> at ptolemy.domains.de.kernel.DEDirector._getDepthOfIOPort(DEDirector.java:1582)<br /> at ptolemy.domains.de.kernel.DEDirector._enqueueTriggerEvent(DEDirector.java:1541)<br /> at ptolemy.domains.de.kernel.DEReceiver.put(DEReceiver.java:162)<br /> at ptolemy.actor.AbstractReceiver.putToAll(AbstractReceiver.java:332)<br /> at ptolemy.actor.IOPort.broadcast(IOPort.java:288)<br /> at ptolemy.actor.TypedIOPort.broadcast(TypedIOPort.java:238)<br /> at org.kepler.sensor.actor.Sensor.fire(Sensor.java:323)<br /> at ptolemy.domains.de.kernel.DEDirector.fire(DEDirector.java:568)<br /> at ptolemy.actor.CompositeActor.fire(CompositeActor.java:459)<br /> at ptolemy.actor.Manager.iterate(Manager.java:749)<br /> at ptolemy.actor.Manager.execute(Manager.java:351)<br /> at ptolemy.actor.Manager.run(Manager.java:1164)<br /> at ptolemy.actor.Manager$3.run(Manager.java:1217)<br />--Exception 2 stop--</p>
<p>--Exception 3 start--<br />java.util.ConcurrentModificationException<br /> at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:617)<br /> at java.util.LinkedList$ListItr.next(LinkedList.java:552)<br /> at ptolemy.actor.util.CausalityInterfaceForComposites._computeInputDepth(CausalityInterfaceForComposites.java:669)<br /> at ptolemy.actor.util.CausalityInterfaceForComposites._computeOutputPortDepth(CausalityInterfaceForComposites.java:756)<br /> at ptolemy.actor.util.CausalityInterfaceForComposites._computeInputDepth(CausalityInterfaceForComposites.java:692)<br /> at ptolemy.actor.util.CausalityInterfaceForComposites._computeActorDepth(CausalityInterfaceForComposites.java:527)<br /> at ptolemy.actor.util.CausalityInterfaceForComposites.getDepthOfPort(CausalityInterfaceForComposites.java:373)<br /> at ptolemy.domains.de.kernel.DEDirector._getDepthOfIOPort(DEDirector.java:1582)<br /> at ptolemy.domains.de.kernel.DEDirector._enqueueTriggerEvent(DEDirector.java:1541)<br /> at ptolemy.domains.de.kernel.DEReceiver.put(DEReceiver.java:162)<br /> at ptolemy.actor.AbstractReceiver.putToAll(AbstractReceiver.java:332)<br /> at ptolemy.actor.IOPort.broadcast(IOPort.java:288)<br /> at ptolemy.actor.TypedIOPort.broadcast(TypedIOPort.java:238)<br /> at org.kepler.sensor.actor.Sensor.fire(Sensor.java:323)<br /> at ptolemy.domains.de.kernel.DEDirector.fire(DEDirector.java:568)<br /> at ptolemy.actor.CompositeActor.fire(CompositeActor.java:459)<br /> at ptolemy.actor.Manager.iterate(Manager.java:749)<br /> at ptolemy.actor.Manager.execute(Manager.java:351)<br /> at ptolemy.actor.Manager.run(Manager.java:1164)<br /> at ptolemy.actor.Manager$3.run(Manager.java:1217)<br />--Exception 3 stop--</p> Bug #5169 (Resolved): select more than one remote repositoryhttps://projects.ecoinformatics.org/ecoinfo/issues/51692010-09-03T19:46:23ZDaniel Crawldanielcrawl@gmail.com
<p>The Component Preferences tab only allows a single remote repository to be selected at a time. By selecting more than one repository:</p>
<pre><code>- component searches span multiple repositories<br /> - when uploading a wf, user is asked which repository<br /> - display multiple scheduling servers as shown in Fig 7</code></pre> Bug #5133 (Resolved): Authentication and authorization of GPP serverhttps://projects.ecoinformatics.org/ecoinfo/issues/51332010-08-09T18:24:26ZJing Taotao@nceas.ucsb.edu
<p>Just open this bug. We need those mechanism in GPP server. Dan can give more details.</p>