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: "Currently using scroll, and also does a select * followed by post query filters, which may be hugely inefficient.  New solution uses repeated requests where we query (not scroll) through the results by ordering by edge timestamp and then excluding previously found timestamp range in successive queries.  Michael/Mike pairing."
Answer: 1469.0

User story: "It is currently possible to migrate from a 1.0 installation to a 2.1 installation via a RESTful client.  However, due to the inability to securely move password hashes, application user's passwords are not retained.   Add the following.  # In the 1.x branch, add the ability to retrieve the password hash.   This should only be allowed by the superuser.  # In 2.1-release, add the ability to write the password hash to an application user.  This should only be allowed by the superuser.   Note that the reason this is only allowed as a superuser is that we want to disable this functionality by default.  Any UG installation that is public facing should not have superuser enable.  This allows us to disable this functionality in environments that are publicly available environments.  "
Answer: 2880.0

User story: Things that need to be addressed when they are found.  EntityManagerImpl.java line 1135                  if ( properties == null ) {                     logger.error( "Error deserializing entity with key {} entity probaby doesn't exist, where did this key come from?", key );                     continue;                 }                  UUID id = uuid( properties.get( PROPERTY_UUID ) );                 String type = string( properties.get( PROPERTY_TYPE ) );                  if ( ( id == null ) || ( type == null ) ) {                     logger.error( "Error retrieving entity with key {}, no type or id deseriazable, where did this key come from?", key );                     continue;                 }   Then in EntityManagerImpl getUUIDsForUniqueProperty           //shouldn't happen, but it's an error case         if ( cols.size() > 1 ) {             logger.error( "INDEX CORRUPTION: More than 1 unique value exists for entities in ownerId {} of type {} on "                     + "property {} with value {}",                     new Object[] { ownerEntityId, collectionNameInternal, propertyName, propertyValue } );         }  ^ Need to address both issues on read repair path such that we no longer need to worry about users seeing them.   For the second issue we should be able to just call delete UniqueProperty with the entity unique value in question. Just make this happen in the backend. 
Answer: 31622.0

User story: "500 null pointer exceptions return when data is present in an entity reference but not returned from cassandra while this may be a data consistency issue an investigation needs to be done. That said in the mean time a tool should be created that either can retrieve the data and restore it ( update ) or to delete the left over entity reference. "
Answer: 22841.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: "Find a way to resolve the state where a user may still have an entity ref but is not able to be queried or retrieved without uuid."
Answer: 8226.0

User story: "Create a python script that will allow users to upgrade from 2.0 to 2.1 per application.  This will ultimately allow an incremental deployment across an existing 2.0 cluster, without user impact.    Template for full system script that already exists: https://github.com/apache/usergrid/blob/2.1-release/stack/scripts/migrate_entity_data.py  It should allow for the following migration process:  tenant 1 1) setup new 2.1 tomcat 2) run migration bootstrap 3) migrate appinfo 4) reindex mgmt app only 5) run de-dup for whatever APP 6) reindex whatever APP 7) add 2.1 tomcats to customer ELB after 1-6 completed for all customer apps 8) run delta re-index/migration for all customer apps   tenant 2 1) reset appinfo version 2) migrate app info 3) reindex mgmt app 4) run de-dup for whatever APP 5) reindex whatever app 7) add 2.1 tomcats to customer ELB after 1-6 completed for all customer apps 8) run delta re-index/migration for all customer apps   after all apps migration 1) migrate entity data  "
Answer: 8422.0

User story: "We need to test the following issues to verify they've been fixed.  Multi region writes and index syncing  Multi region mass collection deletes: Delete the entire collection, then ensure that seek times are fast with no query language. "
Answer: 8341.0

User story: "We need the ability to de-dupe connections per application.  This will enable migrating specific user applications when a shared keyspace is used."
Answer: 1186.0

User story: "If so, then we should probably make Jacoco run via a Maven Profile.  If not, then figure out what bloated the build."
Answer: 5583.0

User story: "In addition to separate Jacoco reports for each module, we should also be able to generate a master Jacoco report."
Answer: 393.0

User story: "We need to audit the TODO statements in the code.  For each we must:  1) Check if there is an existing ticket - If there is no ticket create one 2) Update the TODO statement with the link to the ticket 3) Prioritize based on: - Will this generate a P1 case with a customer? - What is the usability impact of the product?  Once we have audited these we will prioritize and schedule fixes"
Answer: 109622.0

User story: "Currently if the search queue is full a 200 response is returned with an empty entity array."
Answer: 132445.0

User story: "SQS impl is no longer necessary with the current implementation.  We should always use the SNS implementation.  Remove it, and configure the SNS implementation to work with a single region."
Answer: 15725.0

User story: The region will be used to optimize handling of SQS messages that arrive faster than the corresponding C* changes.  Name in the SQS message body "sourceRegion".
Answer: 4458.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: "Occasionally Cassandra multi-region replication lags during high load.  During this high load, messages fail to process because it cannot read the entity from Cassandra.  Rather than fail, we should retry with a high consistency level of quorum in all regions to ensure we replicate the data correctly. "
Answer: 10700.0

User story: "When doing a GET on an asset file that doesn't exist, it should return a 404 rather than a 500 error because the file is not there. "
Answer: 142775.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: "Support for multi-worker testing that can create an unlimited number of entities that can be audited. Includes a new interleaving feed for creating new entities, as well as creating chunked CSV files in the audit format, so that creation and indexing can be validated."
Answer: 38618.0

User story: "Example: 2015-09-30 21:52:19,405 [Notifications_Processor492c29da-6e6a-4093-a4e1-bdcd491448fa] ERROR org.apache.usergrid.services.ServiceManager- This should never happen org.apache.usergrid.persistence.collection.exception.CollectionRuntimeException: An error occurred connecting to cassandra         at org.apache.usergrid.persistence.collection.serialization.impl.MvccEntitySerializationStrategyImpl.lambda$null$14(MvccEntitySerializationStrategyImpl.java:192)         at org.apache.usergrid.persistence.collection.serialization.impl.MvccEntitySerializationStrategyImpl$$Lambda$14/2003392541.call(Unknown Source)         at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:55)         at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:43)         at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:32)         at rx.Observable$1.call(Observable.java:144)         at rx.Observable$1.call(Observable.java:136)         at rx.Observable.unsafeSubscribe(Observable.java:7531)         at rx.internal.operators.OperatorSubscribeOn$1$1.call(OperatorSubscribeOn.java:62)         at rx.schedulers.ImmediateScheduler$InnerImmediateScheduler.schedule(ImmediateScheduler.java:58)         at rx.internal.operators.OperatorSubscribeOn$1.onNext(OperatorSubscribeOn.java:57)         at rx.internal.operators.OperatorSubscribeOn$1.onNext(OperatorSubscribeOn.java:43)         at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:43)         at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:32)"
Answer: 179702.0

User story: "The no aws creds rule call doesn't work outside of core. It fails in service and rest when using the one based in core. "
Answer: 178218.0

User story: "1) Test locally 2) Confirm in e2e "
Answer: 151084.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: This entity is not fully indexed with the error message below.  It does not have a (direct) 2-d array.  It does have nested arrays, however.  2015-09-18 03:20:28,190 [Usergrid-RxIOPool-151] WARN  org.apache.usergrid.persistence.index.impl.EntityMappingParser- Encountered 2 collections consecutively.  N+1 dimensional arrays are unsupported, only arrays of depth 1 are supported {    "type" : "example",    "name" : "8980031",    "created" : 1442527975706,    "modified" : 1442547269098,    "FacilityName" : "ALICES RESTAURANT",    "LastUpdateOn" : "9/17/2015",    "Locations" : [ {      "Addresses" : [ {        "Zip" : "94062",        "AddressLine1" : "17288 Skyline Blvd",        "LatNbr" : "37.386916",        "LongNbr" : "-122.265383",        "State" : "CA",        "AddrUseCd" : "PH",        "City" : "WOODSIDE"      } ],      "Phones" : [ {        "PhnUseCd" : "PH",        "PhoneNbr" : "123-456-3534"      } ],      "LocSeq" : "1",      "PracLocStrtDt" : "1/1/9999",      "PracLocEndDt" : "3/31/9999",      "Accepting" : false,      "PracLocSpecialties" : [ {        "SpcltyPrimInd" : "Y",        "SpcltyDsc" : "PANCAKES",        "SpcltyCd" : "BRKF"      } ]    } ],    "TheId" : 8980031,    "ProviderType" : "FAC",    "PvdrEndDt" : "3/31/2008",    "PvdrSpecialties" : [ {      "SpcltyPrimInd" : "Y",      "SpcltyDsc" : "PANCAKES",      "SpcltyCd" : "BRKF"    } ]  }
Answer: 66567.0

User story: "We should be able to store entities which have a 'location' attribute which does not have both 'lat' an 'lon'.  These fields should also be queryable and therefore indexed."
Answer: 62145.0

User story: "A bug in 2.0 has led to multiple edges on a connection.  We need a job that scans all connections, and keeps the lowest timestamp on the connection.  Other edges should be deleted. "
Answer: 18520.0

User story: "We need a system job that audits edges and ensures they point to an entity.  If not, the edge should be removed."
Answer: 66080.0

User story: "We shouldn't encode a UUID as a specific UUID field type, since we're encoding it as a string.  To keep our index tuples simple, and support both queries, we should store it as a string type.  We should support the following formats.  {code} select * where myUuid = 'aaa65d8a-16a6-11e5-86ea-7b4f7ff44431' {code}  As well as   {code} select * where myUuid = aaa65d8a-16a6-11e5-86ea-7b4f7ff44431 {code}  Notice the addition of single quotes in the first query, vs the parsing as a UUID type in the second query.  This will enable users to use both versions, but does not affect performance. "
Answer: 6655.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: Testing with the following entities and locations shows that we are rounding when people might not be expecting it:       UsergridEntity e = new UsergridEntity(collectionName);     e.setLocation(37.334115, -121.894340);     e.setProperty("name", "Apigee Office");     e.POST();      UsergridEntity amicis = new UsergridEntity(collectionName);     amicis.setLocation(37.335616, -121.894168);     amicis.setProperty("name", "Amicis");     amicis.POST();      UsergridEntity sanPedroMarket = new UsergridEntity(collectionName);     sanPedroMarket.setLocation(37.336499, -121.894356);     sanPedroMarket.setProperty("name", "SanPedroMarket");     sanPedroMarket.POST();      UsergridEntity saintJamesPark = new UsergridEntity(collectionName);     saintJamesPark.setLocation(37.339079, -121.891422);     saintJamesPark.setProperty("name", "saintJamesPark");     saintJamesPark.POST();      UsergridEntity sanJoseNews = new UsergridEntity(collectionName);     sanJoseNews.setLocation(37.337812, -121.890784);     sanJoseNews.setProperty("name", "sanJoseNews");     sanJoseNews.POST();      UsergridEntity deAnza = new UsergridEntity(collectionName);     deAnza.setLocation(37.334370, -121.895081);     deAnza.setProperty("name", "deAnza");     deAnza.POST();  ?ql=select+*++WHERE+location++within+610.0+of+37.334110260009766,-121.89434051513672 
Answer: 177470.0

User story: "As of build 201507291704-5732deeb178cd68d0a24b10a7f5ceebb80612497 the Geodistance results are not sorted by ascending distance by default."
Answer: 178341.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: How will a cache help improve performance? * Reduce load on Tomcat, ES and C* caused by permissons calculation.            Do we need a distributed cache? * YES: Todd says we tried non-distributed cache (w/EhCache) and the caching was not effective (bad hit/mss ratio).  Implementation ideas: * Use Cassandra column family implementation  * Use Hazelcast cache * Use EhCache configured for distributed operation  How much should we expect performance to improve? How can we test this? * JUnit + metrics collection in our cache implementation  Simplest approach seems to be Cassandra. Here's a design:  h1. Add new Core Persistence Cache module  This is a new module that depends only on the Core Persistence Common module (and maybe Model?) and provides a generic cache interface that is "segmented" by a cache scope. When you put or get things you specify the cache scope, and it is possible to invalidate all things within a cache scope with one call.  {code} public interface SegmentedCache<K,V> {     /** Put value into segment with ttl */    void put( CacheScope scope, K key, V value, long ttl );     /** Get value from segment */    V get( CacheScope segment, K key );     /** Delete all cache data of all types and of all scopes */    void invalidate();     /** Delete all cache data within specified segment */    void invalidate( CacheScope segment ); } {code}  Caches are stored in Cassandra *Usergrid_Cache* column family: * Row-key is applicationId * Column key is toString() of K key * Value is serialized V value object  h1. Plugin our Cache into Shiro at the REST module level  To plugin to Shiro, we provide implementations of the Shiro *CacheManager* and *Cache* interfaces that are backed by the Cache module.   When permissions are updated, we need need to ensure that the old cached permissions are invalidated. So we will modify the *EntityManager* revoke and grant methods to call invalidate for the application's cache scope.  
Answer: 61676.0

User story: "The work to be done on this ticket is to document a method for doing this (maybe in the cookbook).  We have a bunch of enterprise use cases where we're not the system of record but we're the preferred system of query.  For example, product catalogs, user management systems, etc.  In these cases, we need a way to import records or uses as entities in a way where a new duplicate entity is not created.  This can be possibly done by creating entities via name-based UUIDs or via duplicate checks, but we need the standard mechanism for doing this and to document that."
Answer: 1690.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 get this on usergrid.apache.org.  How/who can help?"
Answer: 459387.0

User story: "A call to /system/database/setup currently performs a database setup, ES setup, and then proceeds to migrate data.  This should be split into 2 separate events.  They should be the following.   /system/database/setup creates all column families and ES indexes  /system/database/bootstrap  runs a datamigration manager, then  creates all bootstrap data required for usergrid to function"
Answer: 1384.0

User story: "With the new shard proposal algorithm, we need the ability to either   1)  Perform routing aware shard allocation across multi regions.  This ensures that we "
Answer: 13185.0

User story: "Notifications to all devices don't support /*/devices per docs.  Docs need to be updated."
Answer: 6.0

User story: "We'll want to load test this with our existing entity writes during heavy load.  We need to ensure shard allocation can keep up, and that we have a consistent view of the shards.  We need to test the following scenarios  # Write over 10 million entities in a single collection, single region only # Write over 10 million entities concurrently in 2 regions # Write over 10 million entities concurrently in 2 regions, and fail 1 of the regions.  The system should still function, just not allocate new shards.  "
Answer: 119239.0

User story: "Currently our Sphinx-generated docs adopt the look and feel of the ReadTheDocs website, which is not bad but it does not look like the rest of our website.   We should style the docs so that the use the same header and footer as our existing website and use the same colors, fonts, etc."
Answer: 472491.0

User story: "Given an App ID, we need to be able to wipe the data from Cassandra.  This can be standalone."
Answer: 14674.0

User story: "Need to investigate and decide on an approach.  In addition, do we support arrays with elements of varying types?   at org.apache.usergrid.persistence.model.entity.MapToEntityConverter.processListForField(MapToEntityConverter.java:148)"
Answer: 1391.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 best place for this would be in the metadata of the results, in metadata.distance perhaps."
Answer: 117724.0

User story: "Todd's spaghetti comments on write path which results in 2x writes to cassandra ops."
Answer: 134029.0

User story: "If the qparam is not there, use current/default behavior.  If the qparam is there then skip pulling the extra data which will result in better performance."
Answer: 20230.0

User story: "Should it be Pod Name instead?"
Answer: 21644.0

User story: "For AWS c3 family the volumes are SSD-backed.  However, not all consumers of Usergrid will run on SSDs."
Answer: 243484.0

User story: "In order to support NIO.  Current version is ancient.  "
Answer: 23036.0

User story: "Currently, using caches with the proposal phase for new shards has caused large numbers of tombstones.  Review the algorithm, and determine the cause of the additional shard proposals.  Usergrid currently performs 5 shard lookups on write and most miss the cache.  We'll change the following  *Shard allocation*  Shard allocation will not perform a propose + check phase. The following algorithm will occur.  This must occur at EACH_QUORUM to ensure that we have consensus across regions.    Any node will propose a new shard pivot.  This pivot will have compacted set to false, and will have a column timestamp of a new timeuuid in micros  The proposing node will then read back all compacted = false shard pivots.  The shard pivot with the minimum timestamp will be retained, all others will be deleted as proposals.  This will function similarly to distributed read locks in Cassandra.  Lowest proposed value always wins.   Allocation is complete  *Shard compaction*  After a successful proposal allocation, the allocating node will copy all edges from the previously compacted shard into the new shard.  It will continue to copy until no new edges are returned on read.  Once read has been completed, all edges that were copied can be deleted from the previous shard.    This target shard will be marked as compacted  *Consistency*  When performing consistency, we will need a higher consistency level.  To ensure that shards exist worldwide, proposal + selection should occur at EACH_QUORUM.  Standard reads can occur as LOCAL_QUORUM "
Answer: 40795.0

User story: Lets say you have two values {"name":"cow"} and {"name":"Cow"} When you do a query on name = "cow".  We get both "cow" and "Cow" back in the results. Equals should be a case sensitive search. ergo we should only be returning "cow"
Answer: 8576.0

User story: "They both use the AWS sdk but have the possibility to use different versions. This possibility should be eliminated in the future by consolidating which sdk is pulled."
Answer: 304130.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: "Validate that https://github.com/apache/incubator-usergrid/blob/two-dot-o-dev/stack/scripts/migrate_entity_data.py produces consistent entity data migrations.   1) put data into UG build from latest in two-dot-o 2) stand up UG build from two-dot-o-dev pointing to same keyspace (different queue names) and run /system/database/setup 3) from UG running two-dot-o-dev, run migrate_entity_data.py 4) read data from UG two-dot- 4) once finished,  read entities from UG two-dot-o and UG two-dot-o-dev and ensure there is an exact match "
Answer: 5937.0

User story: "move all serialization down to low levels"
Answer: 1501.0

User story: This document cannot be indexed with ElasticSearch in Usergrid  {   "dataType": "inputValidator",    "id": "018",    "mockData": {     "validation": {       "errors": [         ""       ],        "isValid": "false"     }   },    "oldUuid": "asdfasdf-asdf-asdf-asdf-asdfasdf" }
Answer: 5838.0

User story: "1. update status page to include all users 2. create DRAFT Top Level Project resolution 3. start discussion on dev list"
Answer: 7518.0

User story: "Hopefully there's nothing bad in there."
Answer: 171081.0

User story: "1) Ensure that the indexes (including buckets) can get created in region n+1 2) Ensure that read/write aliases get created in region n+1 3) Ensure that queries in both regions return the same data 4) Attempt to quantify the latency of a PUT in region A making it to Region B and being indexed in region B  Coming out of this we need a guide for setting up region N+1"
Answer: 31523.0

User story: "We need to make sure docs are updated for 2.1"
Answer: 8646.0

User story: "Refactor Gatling scala code to allow controlling of load test configuration via the maven scripts."
Answer: 74491.0

User story: When creating an asset the following call works in 1.0 usergrid.  curl -X POST -F name='example' -F file=@example.jpg 'https://localhost:8080/temp/test?access_token=<token>'  properly uploading the asset. In 2.1 however the following gets returned.   {"error":"uncaught","timestamp":1437415007666,"duration":0,"error_description":"Internal Server Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"b0c5930c-2f08-11e5-818e-060beb1b9051"}% 
Answer: 10273.0

User story: "Doesn't work in 2.0 but can't reproduce in 2.1. Try to reproduce. "
Answer: 273.0

User story: "This tool is designed to export from 1.0 with the intent of using the resulting entities and collections in 2.x and higher.  However, this data will be imported using the API so it is not import-to-2.x specific."
Answer: 8591.0

User story: "select * where title contains 'ta*' does not work (at all) as documented here: http://apigee.com/docs/app-services/content/working-queries"
Answer: 2599.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 portal has the following text when someone registers.  We need to change it to be more meaningful, and remove 'beta'.  We're holding a seat for you!   Thanks for signing up for a spot on our private beta. We will send you an email as soon as we're ready for you!  In the mean time, you can stay up to date with App Services on our GoogleGroup.  Back to login  "
Answer: 70814.0

User story: "App Overview would be a better description"
Answer: 71828.0

User story: Some older Usergrid systems may have multiple accounts with the same username or email address, something which is not allowed and problematic now.   When such users are imported into a new system by the ImportAdmins program we can "repair" such users by merging the duplicates and ensure that the resulting single user account has the union of organization in the one or more duplicate users.
Answer: 10010.0

User story: "When indexes are created on setup, as well as aliases assigned on application creation, this is only performed in the local region.  We need to create indexes in all regions during an index administration operation, as well as create aliases.   We will also probably want to make our aliases and underlying indexes identical, in order to allow for ease of administration regardless of region.  We need to account for two cases: 1) Secondary region does not already have ES indexes configured - need to create the indexes and aliases 2) Secondary region already has ES installed and configured (indexes existing) - only need to create aliases "
Answer: 3156.0

User story: "Please investigate and propose a few different options for explicit indexing.  Things to consider: 1) How other databases handle this 2) Ability to index all occurrences of a given field name - for example, index 'cat' whether it is a root property, pets.cat, owners.cat, etc. "
Answer: 384130.0

User story: "Depends on counters getting fixed"
Answer: 63394.0

User story: "For SNS-based multi-region configuration."
Answer: 61916.0

User story: "Provide new tool that exports an app: 1. Writes two types of files: entities and connections 2. Each line of output files will be one complete JSON object 3. Use RxJava for multithreading of reads and of writes"
Answer: 9844.0

User story: "Create configurable re-index buffer property and implement in ReIndexService."
Answer: 7937.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 characterize the performance of 2.1.  This will involve using:  - Varying numbers of tomcats -- we can start with 20 and progressively add more into a load balancer to see the performance impact - Varying ES cluster size - starting with 6 and going up to 20 -- we can start with 20 nodes and only have the indexes targeted to a subset - Varying ES bucket/shard counts - starting with 10 - Varying Cassandra sizes - starting with 6 and going up to 12  General approach should be: 1) Start with 2 tomcats, 6 ES and 6 C* 2) Add +2 Tomcats iteratively until the performance starts to not increase (implying that either ES or C* is the limiting factor) 3) Add +3 ES nodes and test again.  Document impact. 4) Add +3 C* nodes, remove -3 ES nodes and test again.  Document impact. 5) Add +3 C* nodes and +3 ES nodes and test again.  Document impact. 6) Add +2 Tomcats and see the slope of the TPS graph 7) Add +3 C* - (now at 12) and test again 8) Test iteratively with +2 Tomcats until performance plateaus, up to 20 Tomcats"
Answer: 79678.0

User story: "Currently the email address appears to be the same for approving new orgs and new admins.  We need a separate configurable email address for each.  If this setting is blank, the admin email can be used instead.  This needs to be fixed in 2.0 as well as 2.1.  2.0 first please :)"
Answer: 38976.0

User story: "Deploy 2.1 Branch into an End-to-End (e2e) testing environment, including:  1) Cassandra 2) ElasticSearch 3) Tomcat 4) Portal"
Answer: 433.0

User story: "Validate JMS Meters / Timers are the ones we want to be in place for measuring/monitoring performance"
Answer: 60436.0

User story: "We need a script which does testing of a Usergrid instance to confirm a set of functionality works."
Answer: 27616.0

User story: "The release script should reference the exact commit used to make the build and should not make any more commits after that one."
Answer: 103841.0

User story: "There's one new test from master that needs to be rewritten using the new framework: ApplicationResourceIT.applicationCollectionWithAppToken()"
Answer: 4329.0

User story: "We should include in the WAR manifests a version number to be able to identify a version of a build and which branch it belongs to.  For example, right now we have 1.0, 2.0 and 2.1 branches and nothing about the artifact filenames differentiates them.  This results to mistakes and builds of the wrong version getting deployed and mistaken."
Answer: 17119.0

User story: "We need a script which executes API calls to test an installation given a set of test cases to confirm that it 'works' with a bare minimum of functionality.  - CRUD on entity - Query entities  - CRUD on connections  Add queries from here: http://apigee.com/docs/app-services/content/working-queries as test cases. "
Answer: 80289.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 we merge all shards together with every page seek in usergrid 1.0. This means we select 20k columns, and discard 19k with each page selection.  Instead, I propose that we create an AST per shard, and execute the iterator on these shards concurrently.  We then merge on the last step, greatly reducing the amount of network I/O and discarded data on queries of large data sets.  Proposed Changes: 1 AST instance per shard, evaluated concurrently via some worker pool.  Change final gather of concurrent iterators.  Change cursor generation to create the cursor from the merged trees.   "
Answer: 71896.0

User story: Currently we use SMILE binary serialization to serialize our column values.  During production debugging, this makes it extremely difficult to debug.  I propose we remove the SMILE binary serialization, and instead use json serialization with the following formation  {code} {   "version": [serialization implementation version number as an int],   "entity": {... entity as a nested json object }  } {code}  If the entity is present, then the entity has not been deleted.  If the entity field is not present, then the entity should be read as a marked for deletion. 
Answer: 2827.0

User story: "When allocating an index alias to one of the physical indexes a bucketing strategy should be used with ranges based off the number of indexes in elasticsearch.  For example, if there are 10 physical indexes then there would be 10 buckets based on a hash of the Application ID which would result in the assignment of an app alias to a physical index based on the range in which it falls. "
Answer: 8156.0

User story: "We need to move everything to one wiring approach and it seems Guice is the choice.  Therefore, we need to identify which components need to be updated to use Guice instead of Spring."
Answer: 112636.0

User story: "Make same as 2.1 branch"
Answer: 105455.0

User story: JMX Metrics have varying names and formats.  It would be helpful to standardize them.  Lets take a pass and rename them to have an "x.y" pattern.   Where x=object/concept and y=attribute/action.  If there is no explicit y, y should be 'base'.  Here is an example: this.deleteApplicationMeter = metricsFactory.getMeter(EsApplicationEntityIndexImpl.class, "application.delete");   https://github.com/apache/incubator-usergrid/pull/269
Answer: 1.0

User story: "Would be nice to add metrics and counters at the lower level for bytes in/out Cassandra and latency"
Answer: 69027.0

User story: "Settings which are used in a production environment should be the default in the Figs.  This will simplify the configuration management required when running Usergrid at scale."
Answer: 27638.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: "ApplicationResourceIT.updateAccessTokenTtl() is broken because of the added funcitonality of app delete. The way it was implemented added a executePut method into the ApplicationResource which overrides the service resource executePut method thus breaking this test. What we want to decide moving forward is up to the person who works on this ticket. "
Answer: 233182.0

User story: "The first pass of the re-index with is complete.  Testing in a system to ensure that re-index works as expected still needs to be completed."
Answer: 50852.0

User story: "TBD"
Answer: 8157.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: " AdminEmailEncodingIT.getTokenDash:73->doTest:116 » UniformInterface POST http:...   AdminEmailEncodingIT.getTokenPlus:53->doTest:116 » UniformInterface POST http:...   AdminEmailEncodingIT.getTokenUnderscore:63->doTest:116 » UniformInterface POST..."
Answer: 385.0

User story: "when mark node in graph is called the compact needs to be called before you add the same relationship back to the graph.  this should not be the case"
Answer: 15869.0

User story: "We import many libraries that we do not need."
Answer: 357162.0

User story: "With the introduction of SNS and the default configuration of multi-region push notifications will be sent once-per-region.  We need the queue interface to be updated to support single-region delivery."
Answer: 69511.0

User story: "SQS Queue Manager should be updated to use Observable and emit a stream of messages."
Answer: 69300.0

User story: "Currently we only do search results and parse those results under the assumption that we will only do one search. As we query elasticsearch we want to be able to use the scrolling api to batch pull all the results we can find from elasticsearch. "
Answer: 1212.0

User story: """dynamic"": ""strict""  We should ensure this is not used per https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-dynamic-mapping.html"
Answer: 25516.0

User story: Currently using the SearchRequestBuilder add on some custom fields. This was fine when we just needed to do a "one size fits all " to our search method but now that there are more methods being introduced we need a better way to create queries that are efficient for the type of processing that is going to be done. 
Answer: 354668.0

User story: "This call returns an empty iterator  storageEdgeSerialization.getEdgeVersions( scope,                         new SimpleSearchByEdge( edge.getSourceNode(), edge.getType(), edge.getTargetNode(),                             Long.MAX_VALUE, SearchByEdgeType.Order.ASCENDING, Optional.absent() ) );   when we go to delete the edge. So since its empty it returns null and fails the test.           final Edge toBeDeletedEdge = graphManager.deleteEdge( connectionSearch ).toBlocking().firstOrDefault( null );  Need to resolve this so we can fix graph tests.  "
Answer: 10042.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: When running the following code in indexEntity         final Observable<IndexOperationMessage>  batches =  observable.buffer( indexFig.getIndexBatchSize() )              //map into batches based on our buffer size             .flatMap( buffer -> Observable.from( buffer )                 //collect results into a single batch                 .collect( () -> ei.createBatch(), ( batch, indexEdge ) -> {                     logger.debug( "adding edge {} to batch for entity {}", indexEdge, entity );                     batch.index( indexEdge, entity );                 } )                     //return the future from the batch execution                 .flatMap( batch -> batch.execute() ) );  When run with more than one SearchEdge only one SearchEdge is indexed into elasticsearch. Despite both search edges having the same document id. The batch executes but only one connection gets indexed in elasticsearch. 
Answer: 11066.0

User story: "Consider using a single type mapping in elasticsearch for each app.  The goal is to reduce the number of type mappings in total e.g. the size of the mapping and the number of updates to the mapping - which will result in better multitenant performance."
Answer: 87363.0

User story: "We should consider implementing a proxy which provides the index being used for an application.  This proxy should provide both the Index strategy and the entity type mapping strategy.  The goal is to provide a point where we can implement a strategy function that could do one (or more) of the following strategies for indexes:  - Single index per cluster (static index allocation) - Index per org/app (dynamic index allocation) - Index per org (dynamic index allocation) - Index per cluster (dynamic index allocation) - Index per customer (dynamic index allocation) - Hash/bucketing across a fixed range of indexes (static index allocation) - Per environment (TBD) - Static (for the management app, should always match the Cassandra keyspace name as the index)  In order to do this we need to update EntityIndexFactory.createApplicationEntityIndex.  For Entity Type Mapping, the goal is to enable bucketing of entity types (collections) in a manner that can be more optimal for the indexing strategy that is chosen.  For example, a single index strategy might have a single entity type but for the index per org/app it might have a separate entity type.  Looking up the management index would have a strategy where the index name matches the cassandra keyspace name"
Answer: 41528.0

User story: "We need a management user API endpoint to list the orgs in the system"
Answer: 384737.0

User story: "Currently superuser access does not allow access to all resources, as a superuser this should be allowed.  If SuperUser is evaluated as a Role, this may be a more optimal solution from a management perspective."
Answer: 177116.0

User story: "PerformanceEntityRebuildIndexTest.rebuildOneCollectionIndex:228 null"
Answer: 15419.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: " EntityConnectionsIT.testEntityConnectionsMembership:271 null   EntityConnectionsIT.testEntityConnectionsSimple:79 null  are failing"
Answer: 20299.0

User story: "We need to confirm whether entity delete actually works.  If it does work we need to drop fixing/optimizing it from the sprint. "
Answer: 11252.0

User story: "Currently our event system originates from too may points.  Both GraphManager and CollectionManager fire events for compaction.  This is causing issues with our event orchestration when we aggregate events in the core tier. A quick refactor needs to occur.  The following will need to happen.  1) Define new compaction interfaces on the EntityCollectionManager and GraphManager  2) Refactor the existing code to be invoked on these events  3) Invoke the compaction at a higher level.  Mark will sill occur, compaction will be deferred to the runtime. This allows a separate distributed subsystem to be created.   "
Answer: 6919.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: Disable norms and _all for all default templates in 2.0, ensure merged to 2.0-dev.  Sample:  "entity_id_template": {           "match_mapping_type": "string",            "mapping": {             "_all": {               "enabled": false             },              "index": "not_analyzed",              "type": "string",              "norms": {               "enabled": false             }           },   Sample _default_:  {   "_default_": {     "_all": {       "enabled": false     },      "_routing": {       "path": "ug_entityId",        "required": true     },      "properties": {},      "dynamic_templates": [       {         "entity_id_template": {           "match_mapping_type": "string",            "mapping": {             "_all": {               "enabled": false             },              "index": "not_analyzed",              "type": "string",              "norms": {               "enabled": false             }           },            "match": "ug_entityId"         }       },        {         "entity_context_template": {           "match_mapping_type": "string",            "mapping": {             "_all": {               "enabled": false             },              "index": "not_analyzed",              "type": "string",              "norms": {               "enabled": false             }           },            "match": "ug_context"         }       },        {         "entity_version_template": {           "match_mapping_type": "string",            "mapping": {             "_all": {               "enabled": false             },              "norms": {               "enabled": false             },              "type": "long"           },            "match": "ug_entityVersion"         }       },        {         "template_1": {           "match_mapping_type": "string",            "mapping": {             "_all": {               "enabled": false             },              "index": "not_analyzed",              "type": "string",              "norms": {               "enabled": false             }           },            "match": "sa_*"         }       },        {         "template_2": {           "match_mapping_type": "string",            "mapping": {             "_all": {               "enabled": false             },              "index": "not_analyzed",              "type": "string",              "norms": {               "enabled": false             }           },            "match": "*"         }       },        {         "template_3": {           "mapping": {             "_all": {               "enabled": false             },              "type": "geo_point"           },            "match": "go_location"         }       }     ]   } }
Answer: 162804.0

User story: "write more stories"
Answer: 8878.0

User story: "can o worms  refactor cp relation manager into async service  async == async event service starts process  look at indexingservice    "
Answer: 44337.0

User story: "querying es for all edges deleting in bulk async using async index service "
Answer: 44339.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: Set index creation and/or mappings to have _all disabled.  It is enabled by default, therefore we need to explicitly set it as enabled=false   "_all" : {      "enabled" : false     }  
Answer: 165900.0

User story: "We are seeing a large number of fetches/queries when we are doing PUT by name.  This creates load on ES and therefore makes indexing take longer.  We should make sure we're not hitting ES for PUT by name."
Answer: 115167.0

User story: "When no query is specified, we should read by graph edges, and not read via elasticsearch.  The low level seek logic exists.  The relationManager simply needs to wire this functionality in.  A new Graph I/O interface should be created to cleanly implement and test this."
Answer: 8716.0

User story: "If Central Usergrid then the Portal should redirect the user to the central Usergrid instance for login/registration.  And, when the Portal gets an Admin User token from the Central Usergrid SSO system, the Portal must validate it against the Usergrid system with which it is configured to work.  This is a spike to design a possible solution for SSO support in portal."
Answer: 8634.0

User story: "Publish to SNS Consume from SQS  Complete the SQS indexing impl with the new message endpoint  add new interface for sqs vs in memory service   "
Answer: 61796.0

User story: "Test migration from old index format to new"
Answer: 111312.0

User story: "Test routing of documents in ES using external test."
Answer: 11423.0

User story: "This should fix the broken test in the EntityManagerIt labeled: ownershipScopeCorrect"
Answer: 1074.0

User story: "This should be documented, it's a nice new feature for Usergrid 1.0.2."
Answer: 655437.0

User story: "This has already been done in the two-dot-o branch.  Fixing it in 1.0 will be a little different.   These keyspace names are hard-coded into Java code: - Usergrid - Usergrid_Applications  and the Locks keyspace name is hardcoded into a Spring config."
Answer: 146.0

User story: "Use the MetricsFactory to add metrics for successful token validations,  unsuccessful token validations and local admin user creation.  For more about external token validation see Usergrid-567"
Answer: 7573.0

User story: "When external token validation is enabled (see Usergrid-567) and a Usergrid system is delegating authentication to some other central Usergrid for SSO purposes, then new Admin Users should register ONLY with that central Usergrid.  "
Answer: 6181.0

User story: "We have an endpoint to reindex an app and collection, we need one for an entire org."
Answer: 388562.0

User story: "Please add a setting that can prevent the qparams from being returned in a response, and/or add a filter for accessToken and ClientID/ClientSecret to not be returned in a response."
Answer: 27682.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 requirement is to have multiple Usergrid systems, each with its own Cassandra cluster, be able to authenticate Admin Users with one central Usergrid system -- giving Admin Users Single-Sign-On (SSO) across all of those systems.  We can do this by adding just one new end-point to Usergrid.  This Google Doc explains a complete design for "Usergrid Central SSO":  https://docs.google.com/document/d/12kXgaYcB6L9JoTyRGn0ZHEMg3vL1LJDqvtnltIBDa1Y/edit?usp=sharing  The design is based on earlier work by <USER>and <USER>
Answer: 10078.0

User story: "I regularly see a large queue in ElasticSearch on a single node and the messages are not getting distributed across the cluster.  The backlog in the single node can be cleared by increasing thread pool size, allowing jobs to get sent to the other nodes.  the node client will help direct jobs to the correct ES node and not develop a backlog."
Answer: 136424.0

User story: "Design forthcoming."
Answer: 10072.0

User story: "https://issues.apache.org/jira/browse/USERGRID-530.  Make sure it gets in 2.0"
Answer: 163973.0

User story: "We need the ability to resume re-indexing.  To do this, we should make the AllEntitiesObservable allow for resume by default.  This way if the node performing the migration fails, it can be restarted on another node.  Note that we also need a way to clear state via REST, so that we can restart our indexing."
Answer: 141155.0

User story: "We need to build resume into entity migration.  To do this, we should make the AllEntitiesObservable allow for resume by default.  This way if the node performing the migration fails, it can be restarted on another node.  Note that we also need a way to clear state via REST, so that we can restart our migration."
Answer: 181063.0

User story: "We need to replicate and test the reindex oscillation issue in the e2e environment."
Answer: 83162.0

User story: "Test migration from v2 to v3 for the upcoming release"
Answer: 131456.0

User story: "As we move to separate keyspaces for each tenant we need to have an endpoint to monitor storage consumed for the keyspace.  This will be followed by the ability to show data consumed in the console and notifications when storage consumed is at X%.  1. add size to entities 2. add size to index. 3. migrate field mapping in index 4. add endpoint for getting storage by app  api is management/orgs/orgname/applications/appname/size or management/orgs/orgname/applications/appname/size/collectionName"
Answer: 214056.0

User story: "we have some entities that are having indexing issues, with 6,011 at this time in a dead letter queue.  we need to understand why these are having indexing issues."
Answer: 436648.0

User story: "Add queue length (SQS, akka, etc.) to the data returned by /status"
Answer: 198974.0

User story: "Make sure that the export process outputs the password hashes. This will allow people who want to import user accounts able to by using the api. "
Answer: 7009.0