udaykiran19491/user-stories-from-tawos-for-llm-fine-tuning huggingface dataset:
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: "* The Application should  **  Create a Spring Application Context. **  Should take a command line parameter --config that will point to a property file with key/value pairs specified below.  By default the file xd-ec2.properties will be looked for on the classpath ** Associate EBS shared volume for each machine instance  * Packaging  ** Use gradle application plugin to generate a ‘bin’ directory with a script to start the application.  Seehttp://www.gradle.org/docs/current/userguide/application_plugin.html ** The config file xd-ec2.properties should be in a directory (ideally a 'config' directory parallel to 'bin' and will be loaded by the application by default - loading via the CP is probably the easiest way. ** Create a POJO to easily reference these properties, vs. using a raw java Properties object.  How to verify it works  * Integration testing ** Create JUnit based tests.  JClouds itself has extensive testing, can look at those for structure. ** Verify what you created has been installed. ** Verify ports are open  Instance Information ** EBS of 50GB Base for each instance. * Report successful and failed Instances.  Key-Value pairs in configuration file properties may include:  * cluster-name= a name describing the cluster you are creating * aws-access-keys= the access key assigned to you by admin * aws-secret-key= the secret key assigned to you by admin * private-key-file= the private key file assigned to you by admin.  Used for ssh-ing into  * multi-node=true/false if true then installer will run the number of nodes as enumerated in the number-nodes property value.  if false the installer will start a single node server * number-nodes=The number of nodes(containers) to deploy for this cluster.  Value is an integer > 0 * machine-size=The size of machines to be assigned for admin and nodes.  small, medium, large * redis-port=6379 * rabbit-port=5279 * xd-dist-url=The url to download the XD to install.  for example: http://blahblahblah.zip * ami = The ami image to use for your cluster. for example: ami-dfadsfdadf  "
Answer: 22777.0

User story: "* Logging into your XD Account For Example: https://946513944028.signin.aws.amazon.com/console * Discuss how to terminate running instances. ** Users can terminate all instances using the UI on the EC2 admin page * Usage monitoring via CloudWatch * Investigate what metadata in each instance is required so that cloudwatch can track "
Answer: 41364.0

User story: "Add instructions to github wiki on the usage of the installer "
Answer: 41366.0

User story: "* Setup groups for xd user * Setup privileges so users can only see their instances * Setup user accounts ** Send created access key to users ** Send username and passwords to user "
Answer: 9741.0

User story: "Currently ./gradlew clean test fails since the module dependencies are not packaged before the test task.  "
Answer: 214.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: Here is an example: the following request for streams: http://ec2-23-20-25-30.compute-1.amazonaws.com:9393/streams  Returns: This XML file does not appear to have any style information associated with it. The document tree is shown below. <errors xmlns:atom="http://www.w3.org/2005/Atom"> <error logref="HttpMessageNotWritableException"> <message> Could not marshal [PagedResource { content: [links: [<http://ec2-23-20-25-30.compute-1.amazonaws.com:9393/streams/ticktock>;rel="self"]], metadata: Metadata { number: 0, total pages: 1, total elements: 1, size: 20 }, links: [] }]: null; nested exception is javax.xml.bind.MarshalException - with linked exception: [com.sun.istack.SAXException2: unable to marshal type "org.springframework.xd.rest.client.domain.StreamDefinitionResource" as an element because it is not known to this context.] </message> </error> </errors>
Answer: 3747.0

User story: "This is currently missing and probably supersedes some of the stuff that's in there now."
Answer: 15672.0

User story: Provide the infrastructure for HTTP GET /completions?start='http | file --d" that would return a list of possible completions (in this case returning the file option names that start with "d")  This story is about (and only about): - Having that REST controller, delegating to some "CompletionsEngine" - Implementing the Spring Shell Converter that talks to that  It's an empty shell, useless (but easy to do) without the actual "CompletionsEngine"
Answer: 161313.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: Module options are currently implemented using PropertySourcesPlaceholderConfigurer, doing simple "text" replacements.  This story proposes to introduce a richer model for module options, which could take the following xml representation (keeping in mind that there would be an underlying set of classes that could also apply to e.g. @Configuration approach):  {code:xml} <xd:params>   <xd:param name="port" help="the http port to listen on" /> </xd:params> {code}  So, the very first obvious benefit is providing help metadata. The second one is an easy way to list available option names, without resorting to brittle PropertySourcesPlaceholderConfigurer hacks (we wouldn't for example detect xd.stream.name or XD_TRANSPORT as a valid option)  One could also specify defaults/computations, this time benefiting from SpEL everywhere: {code:xml} <xd:params>   <xd:param name="directory" default="headers.directory" /> </xd:params> {code}  Lastly, this opens the door to better type checking / combinations / optionality support: {code:xml} <xd:params valid="fixedDelay || cron">   <xd:param name="fixedDelay" type="int" />   <xd:param name="cron" type="string" /> </xd:params> {code}  The 'valid' attribute can e.g. be evaluated by SpEL.  Some final remarks: - That construct can be compatible with our current approach by behaving as a PropertySource itself (instead of creating a PropertySource, the StreamPlugin would give this new bean the java.util.Properties) - Plugins could benefit from a hook in that construct and advertise the fact that they expect/provide new options (e.g. --inputType)  There is a slight problem though, which is that if this construct lives in the same AppContext as the module definition itself, then the AppContext needs to be refreshed for the logic to kick in. One could circumvent that using profiles, or we could rely on a different filename convention (e.g. <module>-params.xml)   
Answer: 61666.0

User story: "TBD"
Answer: 16858.0

User story: "SPI for deployment on to YARN + Local 'dirt' cluster."
Answer: 219149.0

User story: "See Epic https://jira.springsource.org/browse/XD-234"
Answer: 16867.0

User story: If you create a simple "http | log" stream and list the modules, you'll see that JobPlugin adds its numberFormat, makeUnique, etc properties.  Even though they do no harm, it's really strange for users. Plus, it could conflict with e.g. activation of profiles given present properties
Answer: 159397.0

User story: "Now that XD-924 is merged, we can convert splunk, twitter and gemfire modules to rely on the newly created projects.  The hadoop module will get its own story, as classpath handling is a bit more tricky for that one.  From there on, no new dependency should be added to DIRT for the sole purpose of a module. Rather, it should directly be created as a CP-aware module and project."
Answer: 15874.0

User story: "The RuntimeContainersController (from PR#340) returns the list of runtime modules. Instead we need make it pageable."
Answer: 213.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: "With PR#340, listing of runtime modules with a non-existent containerId will display empty table. Instead, we can throw exception saying Container doesn't exist."
Answer: 345676.0

User story: "Currently, ModulesController creates the ModuleDefinitionRepository instance with ModuleRegistry. Instead, we should inject the moduleDefinitionRepository into ModulesController directly."
Answer: 28498.0

User story: We need a way to find the runtime module info by module type("source", "sink", "processor", "job"). 
Answer: 57130.0

User story: "Currently TupleCodec uses JSON for serialization/deserialization. It should use Kryo. This will require some customization and potentially changes to Tuple to address the Tuple's conversionService field. "
Answer: 37133.0

User story: "Register a JSON to Object converter in the DefaultContentTypeAwareConverterRegistry. Currently we only support Object to JSON but not the other way. This may or may not work for an arbitrary object but is useful in many cases."
Answer: 1384.0

User story: "See https://github.com/spring-projects/spring-hateoas/issues/89  Updating HATEOAS version and removing in a lot of controllers should be possible now. See eg https://github.com/spring-projects/spring-xd/blob/4919ea2498a13ef47aaa9437937308fb26a7a24f/spring-xd-dirt/src/main/java/org/springframework/xd/dirt/rest/XDController.java#L219"
Answer: 57496.0

User story: "This is cause generally by someone having port 9100(hsqldb port) in use. It is recommended that setup checks to see if port is in use.  If it is throw an exception stating that hsqldb port (9100) is in use and suggest options like.  Free up the port or change the hsqldb port."
Answer: 161751.0

User story: "The runtime module properties requires a format option when displayed in the Shell   Based on the PR (https://github.com/spring-projects/spring-xd/pull/340), the module properties are stored as String and displayed as is. "
Answer: 270434.0

User story: "The aggregate counter query result currently returns the interval that is passed in, whether it is aligned with the bucket resolution requested or not. It would be more intuitive if the time values returned are rounded (down) to the resolution of the query (i.e. whole minutes, hours, days or whatever)."
Answer: 920425.0

User story: "* In the testmodules.source ** Rename source-config to packaged-source ** Rename source-config to packaged-source-no-lib * All xml files should be prefixed with test.  i.e. testsource, testsink * Make sure all tests pass with new configuration"
Answer: 316985.0

User story: "Remove ModuleType.getModuleTypeByTypeName.  All code should use the enum. "
Answer: 18339.0

User story: "Similar to what is done for e.g. hadoop, reactor, and http, some of the classes in the .x package (namely gemfire, splunk, twitter) should go in dedicated (albeit small) projects. This would enable further modularization (see XD-915)"
Answer: 3512.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: "As a user, I'd like to be notified when a exception is thrown in a module so that I can tap into an error channel to receive the failures for each stream/module.  "
Answer: 564604.0

User story: "SingleNode server needs to stop cleanly with stopping both the admin server & container server.   Also, all the tests that require SingleNode main server needs to handle the server shutdown appropriately."
Answer: 727.0

User story: "Not everyone may be familiar with MQTT, or esp. with MQTT inside Rabbit"
Answer: 422082.0

User story: "json parameter is no longer required. Use --outputType=application/json instead"
Answer: 28972.0

User story: See also XD-903, XD-915  A lot of dependencies have been added with the "compile" scope as an oversight over time. Some of them are only required at runtime, some may not be required anymore.
Answer: 392129.0

User story: "Enhance the stream parser to take message conversion into account in order to validate or automatically configure converters. For example:   {noformat:nopanel=true} source   --outputType=my.Foo  | sink --inputType=some.other.Bar   is likely invalid since XD doesn't know how to convert Foo->Bar.  {noformat}"
Answer: 929071.0

User story: "File source should output either the File itself (serialized File object) or the contents as a byte[]. This option is configured by a parameter --contents=true.  The byte[] may be converted to a String using XD Message Conversion, e.g., --output = text/plain;charset=UTF-8"
Answer: 28299.0

User story: "Once XD-887 is merged, gradually convert more modules.  Recipe: 1) Move the <module>.xml file to <module>/config/<module>.xml 2) Declare a :module.<type>.<module> gradle project 3) Move dependencies from dirt project to newly created module project 4) gradle build picks it up.  gradle clean build + manual test Also have a look at gradle cleanEclipse eclipse"
Answer: 12886.0

User story: "See issue https://jira.springsource.org/browse/XD-862  The docs should be updated to include examples that show how to use the standard 'SpEL' based splitter, transformer, filters with #jsonPath expressions."
Answer: 65619.0

User story: "The XD build breaks with Gradle 1.8 due to some changes in dependency resolution."
Answer: 1210.0

User story: "Users need to register custom message converters used by modules."
Answer: 358687.0

User story: "Should keep the critical error count as close to zero as possible."
Answer: 4490.0

User story: Offers the functionality to make http request to a web service. i.e. outbound http gateway. Example implementations: stream create --name foo --definition "trigger |rest --reply-timeout=1 --url=http://earthquake.usgs.gov/earthquakes/feed/geojson/all/day|log"  stream create --name foos --definition "trigger --payload=lat=34.0567006&lon=-84.34368810000001&site=all&smap=1&searchresult=Roswell%2C%20GA%2030076%2C%20USA#.UktzaWSG1Dd | rest --url=http://forecast.weather.gov/MapClick.php? |log"  
Answer: 11574.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: It should be possible to supply a start or end date (or none for the present), plus a "count" value for the number of points required (i.e. after or prior to the given time).
Answer: 14611.0

User story: " It looks like Container's ContainerStartedEvent and ContainerStoppedEvent are published from ContainerLauncher's context whereas the ContainerEventListeners are running in XDContainer's context. This makes the container start/stop events not getting processed. "
Answer: 3889.0

User story: "The xd-dirt project should be split in at least 3 parts:  - Classes and resources pertaining to the admin-server  - Container server  - Shared classes  Additionally, we may consider splitting the first two in half as well, having a separate project for CLI handling (and hence introduce 2 other projects for YARN, etc) "
Answer: 173410.0

User story: "Tests that leverage [Redis|Rabbit]AvailableRule often create another connection factory in the test body but fail to close it.  Tests should properly close the resource. As an added benefit, the rule itself can expose the resource that it created for deciding whether to skip the test or not"
Answer: 17569.0

User story: "We currently include jetty-util-6.1.26.jar but we need to add correct jar for different distributions - PHD uses jetty-util-7.6.10.v20130312.jar  Need to check hadoop-hdfs dependencies for the distros and add jetty-util-* to the jar copy for each distro "
Answer: 20174.0

User story: "When INT-3133 is resolved, SpEL {{PropertyAccessor}} s are inherited from parent contexts.  Instead of adding the {{JsonPropertyAccessor}} to each module's context, add it to the parent instead."
Answer: 8390.0

User story: "currently xd-container will not start due to a DB connection failure if the xd-admin is not already running  In fact, if someone is not using Batch jobs at all with XD, they should not even need a DB connection for either xd-admin or xd-container to run  so... consider using LazyConnectionDataSourceProxy so a connection failure would only occur when the DataSource is actually invoked to retrieve a connection"
Answer: 3046.0

User story: We should support *java.io.file* payloads in order to support non-textual file and large text file payloads being uploaded to HDFS.   Currently text file payloads are converted to a text stream in memory and, non-String payloads are converted to JSON first, using an "object-to-json-transformer".   Ultimately we need to support streams such as "file | hdfs" where the actually payload being copied to HDFS is not necessarily JSON or textual.  Need to be able to support headers in the message that will indicate which HDFS file the data should be stored in.  
Answer: 939315.0

User story: "The ability to configure message conversion via parameters. Consider programatic configuration of data type channels. Values can be media type, e.g., application/json or a java class name."
Answer: 20043.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: Currently, for adhoc launching of Batch jobs you have to use:  {code} stream create --name myTriggerStream --definition "trigger > job:helloSpringXD" {code}  For renewed triggering of the job you have to undeploy and then redeploy the job. It would be nice if there was possibly a slightly simpler way of doing this.  Just FYI - As a different approach you can also use the HTTP source:  {source} job create --name myjob --definition "myjob" stream create --name myjobhttp --definition "http > job:http" http post --data "{}" {source}  
Answer: 182233.0

User story: "When clicking on a specific job execution from the job executions bar chart, the tool tips display isn't aligned with the job parameters. Please see the attachment."
Answer: 183333.0

User story: "We probably need to look into some options to run our JavaScript tests (Jasmine) as part of the build process - some possibilities:  * Jasmine Gradle Plugin https://github.com/dzhaughnroth/jasmine-gradle-plugin * Saga - http://timurstrekalov.github.io/saga/  Looks like Maven has slightly better support: http://searls.github.io/jasmine-maven-plugin/index.html  See also: XD-865"
Answer: 20197.0

User story: "This conflicts with and 'out of the box' hadoop installation that uses 8080 as the 'map reduce shuffle port'.  8088 sound ok?  "
Answer: 3012.0

User story: Currently, a lot of jars that are on the classpath of xd-dirt are there to support modules. We should move those to the lib/ construct of a module and remove them from the CP of dirt.  But this should not be done by simple "mv", as we'd lose version tracking and dependency management offered by gradle.  Pending a "dependency-aware" ModuleRegistry, we should be able to alter the build.gradle file so that it - knows about individual modules (maybe handles them as project) - copies its libs into the appropriate directory - does not copy dependencies that are already legitimate dependencies of xd-dirt (this can be achieved by runtime introspection of the dependeny tree of both projects)  
Answer: 12013.0

User story: "Add Batch Job Listeners Automatically  * Each major listener category should send notifications to own channel (StepExecution, Chunk, Item etc.) * Add attribute to disallow automatic adding of listeners"
Answer: 255546.0

User story: "If the spring batch database has already been initialized do not re-initialize for each test run.    "
Answer: 187241.0

User story: "In our tests the context is destroyed at the end of each module.  It should be destroyed at the close of the container."
Answer: 187259.0

User story: "Set the enableJmx to false because contexts are not getting destroyed properly, and in some cases prevents testSystemPropertiesOverridesDefault from running successfully."
Answer: 56.0

User story: "We should consider moving to wire.js to encourage dependency injection in the UI Javascript code.  See here: https://github.com/cujojs/wire/blob/master/docs/get.md"
Answer: 10350.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: Currently, the "data" directory created by the HSQLDB process during the tests run is not cleaned up and may cause issues. We should delete the "data" directory after each test completion.
Answer: 185639.0

User story: "The admin Server's tomcat is not shutdown properly. There is an existing method shutdownCleanly() on AdminServer but the spring-xd-shell tests hang when we use this method to shutdown the admin server.  "
Answer: 719.0

User story: "It looks like we don't handle deletion of source files currently. We should provide some support for that - Maybe there is a way to into Spring Integration's PseudoTransactionManager support:  http://docs.spring.io/spring-integration/api/org/springframework/integration/transaction/PseudoTransactionManager.html  The *File Source* should possibly also support File archival functionality (But that might also be a dedicated processor?). Not sure where we want to set the semantic boundaries for the File Source. "
Answer: 206891.0

User story: This story may need to be broken into several stories  Particularly for Batch scenarios one may not want to run a "file-to-string-transformer" on the payload file in the file source but rather handle/pass the file reference itself (local SAN etc.) - e.g. in case somebody drops a 2GB or in scenarios where one wants to push those large files into HDFS and run hadoop jobs on the data.  This is important for Batch Jobs as they need to access the file itself for the reader.   We need to *keep in mind the various transports we support*. Not sure how Kryo handles file serialization. I would think we only need the File Meta Data to be persisted not the file-data itself (make that configurable??). 
Answer: 28148.0

User story: Just wanted to create story for this - so we can consider whether this should be addressed.  In at least 2 modules we use non-persisted states. We may want to consider making them persistent:   *Twitter Search* uses an in-memory *MetadataStore* that keeps track of the twitter ids. There exists a corresponding issue for Spring Integration:  "Create a Redis-backed MetadataStore" See: https://jira.springsource.org/browse/INT-3085  *File Soure*'s File Inbound Channel Adapter uses a AcceptOnceFileListFilter, which uses an in-memory Queue to keep track of duplicate files.  
Answer: 1146012.0

User story: "Commands that pair up with the functionality described in XD-859  module list  (would list all modules in a table format) module list --type=source  (would list only source modules)  and so on."
Answer: 19009.0

User story: "i.e.  http | group1: filter | group1: transform | file   then specifying anything labelled group1 goes to machineX"
Answer: 212.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: We need to verify that we are seeing improved throughput when using the reactor based syslog adapter.    A suggestion on a basic stream to perform a microbenchmark this would be using in-memory counters, singlenode with the stream definition "syslog | counter".  Based on the results of this microbenchmark, other stories may need to be created.
Answer: 18846.0

User story: "Parser creates a module compose command that allows a user to create a module of other modules.  This composed module can accept parameters."
Answer: 43.0

User story: "Get rid of all the thread.sleeps and code that supported them."
Answer: 8988.0

User story: "The admin-ui currently has no unit tests.  Need to add a test suite and hook it up to the build so that tests are run on every build."
Answer: 8262.0

User story: "We need to move the BatchJobExecutionsByJobName method to BatchJobsController as that seems appropriate"
Answer: 8738.0

User story: "Similar to xpath with XML, there are now some initial support in SI that enable the use of filter/routers based on JSON Path expressions.  That support needs to be reviewed and then brought up to the level of exposure in Spring XD so that router/filter modules could use JSON Path.  json-path-filter/router are components that need to be created, perhaps others.  This story needs to be broken down further."
Answer: 4578.0

User story: "This story will need to be broken down further.  The current code mixes together the type conversion that happens within a single JVM (for data that is passed on a local transport between modules) and serialization/deserialization between JVMs.  This should be separated.  There was a suggestion that we could perhaps use typed data channels in SI as a means implement the type conversion between modules.  The media-type conversion support in Spring 4 is another part of this solution."
Answer: 69002.0

User story: "From the CLI, one should be able to get a listing of modules and be able to specifically ask for jobs, sources, sinks, and processors.  A brief description of them would also be nice - this might come from adding some metadata into the definition.  Finer grained description/implementation suggestion TBD"
Answer: 24416.0

User story: "Apart from sanity checks, there is not much that ties FileModuleRegistry to actual java.io.Files. Using the Resource abstraction would work just the same, and would allow loading modules from the classpath in constrained environments or other file systems/locations. (HDFS /HTTP)"
Answer: 69126.0

User story: "Similar to what has been done for e.g. FileSink, refactor metrics related sinks to use smart Thread.sleep() timings"
Answer: 120.0

User story: "The doc at http://docs.spring.io/spring-xd/docs/1.0.0.M3/reference/html/#_modules_and_spring refers to an old version of the counter sink, when it was still hardwired to use redis. The text next to it that explains placeholders is out of date (with respect to the redis placeholders)"
Answer: 2941.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: "Add serialVersionUID to the objects in package org.springframework.integration.x.twitter:  * XDEntities * XDUrlEntity * XDHashTagEntity * XDMentionEntity * XDMediaEntity * XDTickerSymbolEntity * XDTweet  The absence creates warnings during compile time."
Answer: 35264.0

User story: "Wildcard support for associating inbound and outbound channels with modules.   The wild card will be represented by an asterisk '*'. Example:  myEmailSource > tap:job:* send message to all jobs myEmailSource > tap:*  send message to all stream/job taps myEmailSource > :*foo*  send message to all channels that contain the channels that contains the word 'foo' tap:*bar > myEmailSource  "
Answer: 11515.0

User story: The syntax for both taps and job channels will be prefixed with the word tap. * The parser will search both the all (stream and job for now) registries to find the "name".   * If the name is present in only in one registry then that definition will be used.   * If the name is  present both registries a syntax exception will be issued.    - The user then can optionally specify which registry to use by adding a second token to the definition that specifies the type of channel the user wants.  - i.e.  tap:{stream}:streamName > mySink * If the user attempts to place a job on the greater (left hand) side without specifying a notification a syntax error will be thrown. Format:  -- tap:[type]:name > $ -- $ > tap:[type]:name   -- Example:    tap:streamName >mySink    tap:stream:streamName > mySink    mySource|myProcessor > tap:stream:mySink    myEmailSource > tap:job:jobName.step1    myEmailSource > tap:jobName.step1    tap:job:jobName-notifications > myEmailSink
Answer: 50365.0

User story: "Looks like there are some version mismatch issues with the build/packaging of the XD components. Looking in xd/lib I see the following which looks suspicious:  mqtt-client-0.2.1.jar mqtt-client-1.0.jar  jackson-core-asl-1.9.13.jar jackson-mapper-asl-1.9.12.jar  spring-integration-core-3.0.0.M3.jar spring-integration-http-2.2.5.RELEASE.jar  spring-data-commons-1.6.0.M1.jar spring-data-commons-core-1.4.0.RELEASE.jar "
Answer: 317101.0

User story: "We should adjust our --hadoopDistro options to the ones supported in the new spring-data-hadoop 1.0.1.RELEASE - hadoop12 (default), cdh4, hdp13, phd1, hadoop20  This includes updating the wiki pages"
Answer: 18401.0

User story: "Tap '@' and using numbers instead of module names."
Answer: 54443.0

User story: "When using jobs, taps we no longer need to have the leading :.  i.e. :tap:foo.  We should only support tap:foo."
Answer: 15619.0

User story: As part of running in Cloud Foundry, one quick workaround for the lack of "classpath" support would be to use the Spring Boot Loader special ClassLoader and jar-inside-a-jar support: https://github.com/spring-projects/spring-boot/tree/master/spring-boot-tools/spring-boot-loader
Answer: 96998.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: "First take on this involves - being able to deploy the two separate applications: xd-admin & xd-container - being able to CF-service provided redis & rabbit for internal needs of XD - to some extent, make modules smart and CF aware (e.g. http source uses correct port)"
Answer: 96884.0

User story: Add back "classifier = 'dist'" to distZip build target - it was was accidentally removed.
Answer: 88290.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: "In the XD UI, the list of jobs is refreshed from the server every 5 seconds.  There are also tooltips that are activated when hovering over a job execution. These tooltips are no longer responsive (ie- they remain on the page and don't disappear) after the list of jobs is refreshed."
Answer: 9056.0

User story: "There are couple of issues here:  1) The admin server destroy() - close event's onApplicationEvent(ContextClosedEvent) listener has stop() to stop the admin server's tomcat instance. The stop() also calls the applicationContext's destroy() which loops again to stop.  2) With HSQLServer or any batch db server(in future), the admin server stop() also needs to handle the batch db server shutdown."
Answer: 100263.0

User story: Currently this works: stream create foo --definition "tap:baz.time > log" stream create baz --definition "time | file"  But this doesn't: stream create foo --definition "tap:baz > log" stream create baz --definition "time | file"  This is because the parser translates references to "tap:baz" to named channel "tap:baz.time" (the name of the stream's first module). If the stream is not yet created, the parser cannot perform this translation. A fix for this will likely be related to the fix needed for XD-812.
Answer: 794070.0

User story: "Now that taps are just channels, we need to update the docs.  The preceding colon is no longer needed (and will be removed altogether), so all examples should be like this:  {code} tap:foo > bar {code}  "
Answer: 966.0

User story: "Currently, the way that we are accessing JobExecutions from batch admin, the JobParameters are not being filled in.  We are using a {{org.springframework.batch.admin.service.JdbcSearchableJobExecutionDao}} to grab the job executions from the database. The database queries that it uses does not include the JobParameters (which is stored in a different table).  I think that this will require a change to batch admin in order to properly expose the parameters."
Answer: 27571.0

User story: "We also would like to upgrade the hsqldb version on spring batch admin so that both are compatible."
Answer: 25428.0

User story: org.springframework.integration.x.bus.Bridge should now be called Binding  we can also move the INBOUND/OUTBOUND direction (or possibly the CONSUMER/PRODUCER role) into this class; that should simplify its usage in conditional code within the MessageBus code and also reduce the use of "in" and "out" as Strings in that same code
Answer: 18321.0

User story: "Twitter search source should produce JSON or Pojo. The Pojo requires a custom wrapper class that is JSON friendly (e.g., zero arg constructor). The twittersearch module should have a parameter --json true/false (default true) to control the output type."
Answer: 1293.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: "org.springframework.xd.shell.command.MailCommandTests in spring-xd-shell project.  I get failures relating to invalid username/password  INFO: Stream Name Stream Definition Status ----------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- mailstream imap --port=1044 --protocol=imap --folder=INBOX --username=johndoe --password=secret | file --dir=/tmp --name=FileSink1280066074228960855 --suffix=txt --charset=UTF-8 --binary=false deployed 13/09/04 11:32:11 WARN mail.ImapIdleChannelAdapter: error occurred in idle task javax.mail.AuthenticationFailedException: LOGIN failed. Invalid login/password at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:663) "
Answer: 103584.0

User story: <int:channel id="input"/> <int:object-to-json-transformer input-channel="input" output-channel="output"/> <int:channel id="output"/>
Answer: 43099.0

User story: "My current thinking is...     ChannelRegistry -> MessageBus    RabbitChannelRegistry -> RabbitMessageBus    ...  Then, method names change like so:     createInbound -> registerConsumer    createOutbound -> registerProducer   "
Answer: 1694.0

User story: "If true(default): filter for delete messages in the twitter stream and route to a discard channel. This creates a twitter stream including only new tweets and no references to deleted ones."
Answer: 217.0

User story: "When converting a JSON string to a tuple the JSON may contain id. This method should handle this. Same with timestamp"
Answer: 224783.0

User story: "Currently, the url for accessing the XD UI is {{http://localhost:8080/admin-ui/index.html}}.  This feels messy and dated.  We should be able to access the ui without explicitly including the index.html, like this:  {code} http://localhost:8080/admin-ui {code}  "
Answer: 29669.0

User story: "The admin UI should be polling the server to automatically pick up any new jobs, executions, and instances."
Answer: 1538.0

User story: "A user should be able to view some important details of the last execution of a job from a job list.  The {{/batch/jobs}} REST endpoint should provide extra fields not currently available in the {{JobInfo}} class.  At a minimum, I would like to see:  * startTime * startDate * last job parameters * duration * last job status"
Answer: 1541.0

User story: "Some recent changes caused this to be turned off. Basically the change was to police whether a stream is well formed at create time, rather than deploy time.  By deferring that check we can create composed streams that are not deployable by themselves but that are when used as building blocks in proper streams."
Answer: 47550.0

User story: "Once spring-batch-admin 1.3.0.M1 is available, update the build to use it.  Likely to be Sept 7 or 9"
Answer: 38660.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: "Now that the new batch admin api is taking shape, we need to rebase the XD web UI to use this.  It's more than just changing the http urls sent to the xd server since the new API is not identical to the old one."
Answer: 10200.0

User story: "When an XD job is destroyed/deleted, the batch jobRepository entries for the job (associated JobInstances, JobExecutions etc.,) and the BatchJobLocator entries."
Answer: 20050.0

User story: As of XD-685, we no longer have the ability to: 1) Tap a named channel, ala stream1=:foo > sink stream2= :tap:foo > sink 2) Tap a stream whose source is a named channel ala stream2=:tap:stream1 > sink 3) Tap a label ala stream1=http | obfuscator: transform --expression=payload.replaceAll('password','*') | file stream2=:tap:stream1.obfuscator > sink  Loss of named channel support is due to the fact that we are creating a WireTap on a module's local output channel only (thus we never tap named channels). We are not supporting labels because we only create a named channel called "tap:stream.module" on stream creation, so later creation of tap on stream1.obfuscator is referring to a non-existent named channel.
Answer: 249081.0

User story: "We need a REST endpoint to launch a job.  Given the constraint on JobRegistry being not persistent and not available outside the container JVM, we can not use the batch job admin controller/service to launch the job.  One possible way is to use the trigger source to launch the job at XD."
Answer: 22968.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: "We should provide a better shell integration when XD is run on Yarn.  1. yarn kill --id TAB completion 2. yarn submit, more options like app name 3. yarn list, filter by app states, etc 4. admin config server TAB completion for running xd apps on yarn"
Answer: 1167152.0

User story: "This might mean we should adjust our hadoopDistro options to the ones supported in the new release - hadoop12 (default), cdh4, hdp13, phd1 and hadoop21"
Answer: 19527.0

User story: The parameters are not optimal for the counter name between "Aggregate Counter" "Field Value Counter"  --counterName versus --name
Answer: 334177.0

User story: "Currently it's possible to do something like  {code}   http --prot=8888 {code}  It is possible to validate property names by parsing the module definition file(s) directly and matching property placeholders (or profile declarations that may be mapped to properties, etc). This must account recursively for imports as well. (I have some code in a branch that does this).  "
Answer: 129387.0

User story: For testing purposes it would be super-helpful if there be a hook to get notified when a named channel is up and running. In current tests one may have to resort to "Thread.sleep".
Answer: 335664.0

User story: We need an abstraction in place to retrieve messages from a "named channel" programmatically.  Right now there is no implementation agnostic way of doing this (such as receiveMessage(), queueSize()).  This could be quite useful for integration tests of streams. E.g. to do more focussed tests without resorting to "temp-files" and non-essential sinks or sources etc. - e.g.   {code} :routeit > router --expression=payload.contains('a')?':foo':':bar' {code}
Answer: 240595.0

User story: "This is to set the appropriate data source, so that the container will use admins batch repository."
Answer: 1450.0

User story: "Job channels need to have a namespace.   i.e. job-somejobname.  Where the - is the delimiter for the namespace.   The preference is to use the : instead of the -.  But XD-766 needs to be completed in order to support this."
Answer: 1157.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: The current rabbitmq sink uses the attribute routing-key, which defaults to the name of the stream.  This should be change to use the attribute routing-key-expression so that the routing-key can be determined using SpEL.  This will enable a dynamic evaluation of the routing-key based on message payload/header.  *Implementation Suggestions*  This hopefully should be changing the XML description of the sink to     routing-key-expression="${routingKey:'${xd.stream.name}'}  This way, the ${xd.stream.name} is surrounded by a single quote to indicate a string literal to SpEL in the default case.    *How to verify it works.*  One of the simple uses of this is to create a routing key based on payload.  In a distributed word-count example, the hashcode of a word would be sent to a certain number of processing modules that would perform the count. The idea is that the same word is sent to the same node over and over again, in particular if in-memory counters or state is computed - using centralized redis counters this wouldn't be necessary in the case of only counter state.  The stream   http | rabbit --routingKey="'word-' + payload.hashCode() % 3"  is an example of a stream that can be used to verify that messages published to a direct exchange will have routing keys of the value word-0, word-1, and word-2.  Binding a queue to each of these routing keys, one can observe the contents of messages in the queue to make sure that words are being routed to the appropriate queue, e.g. publishing "hello" as the payload of an http request should always appear in the same queue.  The rabbitmq admin console can be used for this purpose. 
Answer: 1955.0

User story: "https://sonar.springsource.org/drilldown/measures/7173?metric=package_tangle_index&rids%5B%5D=7717"
Answer: 177235.0

User story: Commands like "stream deploy" have changed over time to allow passing a "--all" option.  So it's either {{stream deploy foo}} or {{stream deploy --all}}. This has a number of drawbacks, given that these are the only 2 alternatives: - Implementation code is cumbersome - None of the options can be marked mandatory, yet one of them is required. This has to be checked in the command code itself - TAB completion is less powerful as the shell doesn't know if we want the first or the second form.   Consider splitting those commands into two distinct commands, one as before and one literally named {{stream deploy all}}.
Answer: 46144.0

User story: "Once XD-785 is merged"
Answer: 317065.0

User story: "SingleNodeMain.launchSingleNodeServer(options) calls System.exit() causing a gradle buffer underflow. This is called from SingleNodeMainIntegrationTests. System.exit() should be called from the main method instead. "
Answer: 263.0

User story: "similar to ChannelRegistry:  - AbstractChannelRegistryTests that has the real tests - subclasses for each impl provide the registry to be tested  Thus one test can run against multiple transports."
Answer: 581493.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: "related to XD-779.   * We need the ability to provide JSON serializable JobExecution information. * Change from using JavaSerialization back to returning objects "
Answer: 218837.0

User story: "Should it be fatal vs. warning?"
Answer: 342956.0

User story: This came up when working on email source. There is <int-mail:imap-idle-channel-adapter> and <int-mail:inbound-channel-adapter>  It would be nice to be able to put those in two profiles and have one of the profile being activated from module options (e.g. email --polling=true|false)  Don't know the runtime cost of activating profiles, but we could blindly activate profiles from all options passed explicitly :  <beans profile="profile-[optionname]-[optionvalue]">  Not sure if this is the same as XD-132
Answer: 27262.0

User story: "export XD_HOME=foo gradle clean test   build fails. Need to detected environment variables and override for the build"
Answer: 652.0

User story: "See discussion at https://github.com/SpringSource/spring-xd/pull/240#discussion_r6045724"
Answer: 977056.0

User story: "It would be nice to be able to have modules that are simply made of:  - Their context xml file  - Some kind of manifest that expresses dependencies  and have the runtime take care of the deps"
Answer: 218565.0

User story: "See https://github.com/SpringSource/spring-xd/pull/240#discussion_r6045724"
Answer: 250809.0
give resolution time in minutes for the given user story, only provide the number of minutes in the output without any other text

User story: "for an example, see comments here: https://jira.springsource.org/browse/XD-671 "
Answer: 2569.0

User story: "In order to hook up the to get access to all the jobs available the job registry has to be shared.  currently the only implmentation is is the MapJobRegistry.   ==== Testability. ==== The admin will need to be see all jobs created by its containers."
Answer: 11514.0

User story: "See discussion at https://github.com/SpringSource/spring-xd/pull/250/files#r6034885"
Answer: 978161.0

User story: "User shall have the ability to get a listing of available named channels (order by name ascending) from the shell  * Add support to controllers * Add tests"
Answer: 1178412.0

User story: "Also drop the enhanced portion of the EnhancedStreamParser."
Answer: 128175.0

User story: "Jobs will be started via trigger.  So we won't need the JobTriggerBean."
Answer: 240712.0

User story: "Currently we have 2 trigger sources: trigger & cron-trigger.  The preference is to have a user to just use a single trigger source.  for example: * trigger > :myjob * trigger --cron='...' >:myjob * trigger --fixedDelay='...' > :myjob  One option to handle this is to use spel to reference a bean and then have different trigger beans defined. i.e. trigger='cronTriggerBean'.  Each trigger bean would setup the channel with the correct poller.  "
Answer: 220411.0

User story: "Triggers will be a source and no longer as a unique module. * The following have to be removed: ** spring-xd-dirt:   -- package: org.springframework.xd.dirt.plugins.trigger -- META-INF: spring-xd/plugins/triggers.xml -- org.springframework.xd.dirt.stream.TriggerPlugin  *The following beans will require updates to remove the trigger code ** spring-xd-dirt:   --META-INF: spring-xd/internal/deployers.xml - Remove Triggerdeployer --org.springframework.xd.dirt.plugins.job.JobPlugin - Remove the registrars for fixedDelay, fixedRate, Cron.  As well as the component selection, only need the job-modules-bean --Update the tests to use the trigger as a source, instead of the trigger module. ** spring-xd-shell: Remove trigger commands and associated tests  ** xd controllers: Remove trigger controllers and their associated tests  This list cover most but not all the components affected. --Success criteria-- Successful unit and integration tests.  "
Answer: 10214.0

User story: "This is issue depends on XD-761  https://build.springsource.org/browse/XD-JDK8"
Answer: 221811.0

User story: "JavaDoc issues are causing the build to fail with Java 8"
Answer: 221812.0

User story: "https://sonar.springsource.org/drilldown/measures/7173?metric=package_cycles&rids%5B%5D=7717"
Answer: 5.0

User story: "The xd-singlenode script currently has '644' permissions unlike xd-admin and xd-container (which have '755'):   {code} -rwxr-xr-x  1 mark  staff  5899 Aug 26 16:19 xd-admin -rwxr-xr-x  1 mark  staff  5955 Aug 26 16:19 xd-container -rw-r--r--  1 mark  staff  5919 Aug 26 16:19 xd-singlenode {code} "
Answer: 12.0