| 
 | 
 | 
 Chromium Code Reviews
 Chromium Code Reviews Issue 
            2478243006:
    Force sessions invalidations on for Android clients with foreign tabs suggestions feature.  (Closed)
    
  
    Issue 
            2478243006:
    Force sessions invalidations on for Android clients with foreign tabs suggestions feature.  (Closed) 
  | DescriptionForce sessions invalidations on for Android clients with foreign tabs suggestions feature.
When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests pages that are the most recent open tabs on other devices. These suggestions show up on the NewTabPage (currently only on Android). These suggestions really just display data from Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data.
Disabling SESSION invalidations typically doesn't harm Android users. SESSION data is only used on a few UI surfaces, and when those surfaces are loaded we temporarily re-register for SESSION invalidations. Unfortunately, this approach doesn't work very well here because visiting the NewTabPage is such a frequent user action. This would result in a lot of traffic and wasted network usage to the invalidations server.
Having stale data means having your local client won't know about open tabs on other devices, and suggestions not being made when you know they should. This causes and inconsistent and less useful experience for the user. By forcing SESSION invalidations to on for anyone that has the foreign tabs suggestion feature enabled, it ensures we have fresh data and are able to suggestion the most value (most recent) pages. The main cost is that we lose the battery life saving of the aforementioned optimization.
BUG=649881
Committed: https://crrev.com/0b0d32497cd7d2e19bee336cfc89d048bfc59de6
Cr-Commit-Position: refs/heads/master@{#430362}
   Patch Set 1 #
 Messages
    Total messages: 19 (13 generated)
     
 The CQ bit was checked by skym@chromium.org to run a CQ dry run 
 Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or... 
 skym@chromium.org changed reviewers: + nyquist@chromium.org 
 PTAL 
 The CQ bit was unchecked by commit-bot@chromium.org 
 Dry run: This issue passed the CQ dry run. 
 lgtm, but could you expand the CL description a bit? You already have a great start. But could you maybe add three paragraphs on something like: 1) What's currently happening? 2) Why, how and for whom is that an issue? 3) How does this make it better? 
 Description was changed from ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. BUG=649881 ========== to ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests open pages that are currently open tabs on other devices, and more recent than a threshold (currently defaults to 3 hours). These suggestions show up on the NewTabPage (currently only on Android). These suggestions, however, rely on Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations results in quite stale data on Android devices, but they doesn't typically impact users. Foreign tabs are rarely used with previously existing UI surfaces, and SESSION invalidations are temporarily re-registered upon viewing the existing UI surfaces. However, it does not make sense to temporarily register for SESSION invalidations upon opening the NewTabPage, which is a very frequent user action. And so we get stale SESSION data. You could have open tabs on one device, but when you go to the NewTabPage on your other Android device, you often won't see anything because your Android device has not called GetUpdates. By forcing invalidations to be on for anyone that has the foreign tabs suggestion feature enabled, we are able to drastically improve the functionality of this feature, at the cost of some battery life (primarily caused from receiving invalidations when Chrome back-grounded). Note that we used the enabled-ness of the suggestions feature and the revisit feature when determining if we can disable SESSION invalidations, but revisit is currently at 0% everywhere. This also only changes SESSION invalidations, all other model types' invalidations are always enabled. Unfortunately the foreign tabs suggestion feature requires fresh SESSION data, and cannot live concurrently with the disabled SESSION invalidations optimization. Long term, if the foreign tabs suggestion feature shows to provide value for some users, these users will not be able to benefit from the disabling SESSION invalidations optimization. BUG=649881 ========== 
 Description was changed from ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests open pages that are currently open tabs on other devices, and more recent than a threshold (currently defaults to 3 hours). These suggestions show up on the NewTabPage (currently only on Android). These suggestions, however, rely on Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations results in quite stale data on Android devices, but they doesn't typically impact users. Foreign tabs are rarely used with previously existing UI surfaces, and SESSION invalidations are temporarily re-registered upon viewing the existing UI surfaces. However, it does not make sense to temporarily register for SESSION invalidations upon opening the NewTabPage, which is a very frequent user action. And so we get stale SESSION data. You could have open tabs on one device, but when you go to the NewTabPage on your other Android device, you often won't see anything because your Android device has not called GetUpdates. By forcing invalidations to be on for anyone that has the foreign tabs suggestion feature enabled, we are able to drastically improve the functionality of this feature, at the cost of some battery life (primarily caused from receiving invalidations when Chrome back-grounded). Note that we used the enabled-ness of the suggestions feature and the revisit feature when determining if we can disable SESSION invalidations, but revisit is currently at 0% everywhere. This also only changes SESSION invalidations, all other model types' invalidations are always enabled. Unfortunately the foreign tabs suggestion feature requires fresh SESSION data, and cannot live concurrently with the disabled SESSION invalidations optimization. Long term, if the foreign tabs suggestion feature shows to provide value for some users, these users will not be able to benefit from the disabling SESSION invalidations optimization. BUG=649881 ========== to ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests open pages that are currently open tabs on other devices, and more recent than a threshold (currently defaults to 3 hours). These suggestions show up on the NewTabPage (currently only on Android). These suggestions, however, rely on Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations results in quite stale data on Android devices, but they doesn't typically impact users. Foreign tabs are rarely used with previously existing UI surfaces, and SESSION invalidations are temporarily re-registered upon viewing the existing UI surfaces. Unfortunately, it does not make sense to temporarily register for SESSION invalidations upon opening the NewTabPage. This user action is very frequent, and would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client not know about open tabs on other devices, and suggestions not being made when you know they should. By forcing invalidations to be on for anyone that has the foreign tabs suggestion feature enabled, we are able to drastically improve the functionality of this feature, at the cost of some battery life (primarily caused from receiving invalidations when Chrome back-grounded). Note that we used the enabled-ness of the suggestions feature and the revisit feature when determining if we can disable SESSION invalidations, but revisit is currently at 0% everywhere. This also only changes SESSION invalidations, all other model types' invalidations are always enabled. Unfortunately the foreign tabs suggestion feature requires fresh SESSION data, and cannot live concurrently with the disabled SESSION invalidations optimization. Long term, if the foreign tabs suggestion feature shows to provide value for some users, these users will not be able to benefit from the disabling SESSION invalidations optimization. BUG=649881 ========== 
 Description was changed from ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests open pages that are currently open tabs on other devices, and more recent than a threshold (currently defaults to 3 hours). These suggestions show up on the NewTabPage (currently only on Android). These suggestions, however, rely on Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations results in quite stale data on Android devices, but they doesn't typically impact users. Foreign tabs are rarely used with previously existing UI surfaces, and SESSION invalidations are temporarily re-registered upon viewing the existing UI surfaces. Unfortunately, it does not make sense to temporarily register for SESSION invalidations upon opening the NewTabPage. This user action is very frequent, and would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client not know about open tabs on other devices, and suggestions not being made when you know they should. By forcing invalidations to be on for anyone that has the foreign tabs suggestion feature enabled, we are able to drastically improve the functionality of this feature, at the cost of some battery life (primarily caused from receiving invalidations when Chrome back-grounded). Note that we used the enabled-ness of the suggestions feature and the revisit feature when determining if we can disable SESSION invalidations, but revisit is currently at 0% everywhere. This also only changes SESSION invalidations, all other model types' invalidations are always enabled. Unfortunately the foreign tabs suggestion feature requires fresh SESSION data, and cannot live concurrently with the disabled SESSION invalidations optimization. Long term, if the foreign tabs suggestion feature shows to provide value for some users, these users will not be able to benefit from the disabling SESSION invalidations optimization. BUG=649881 ========== to ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests open pages that are currently open tabs on other devices, and more recent than a threshold (currently defaults to 3 hours). These suggestions show up on the NewTabPage (currently only on Android). These suggestions, however, rely on Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations results in quite stale data on Android devices, but they doesn't typically impact users. Foreign tabs are rarely used with previously existing UI surfaces, and SESSION invalidations are temporarily re-registered upon viewing the existing UI surfaces. Unfortunately, it does not make sense to temporarily register for SESSION invalidations upon opening the NewTabPage. This user action is very frequent, and would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client not know about open tabs on other devices, and suggestions not being made when you know they should. By forcing invalidations to be on for anyone that has the foreign tabs suggestion feature enabled, we are able to drastically improve the functionality of this feature, at the cost of some battery life (primarily caused from receiving invalidations when Chrome back-grounded). Users will typically see the most recent foreign tab data that has been committed, with a fairly low delay as a result of invalidation and GetUpdate call latency. Note that SESSION data is typically batched into ~10 second commits by the originating client, which will still be present. Note that we used the enabled-ness of the suggestions feature and the revisit feature when determining if we can disable SESSION invalidations, but revisit is currently at 0% everywhere. This also only changes SESSION invalidations, all other model types' invalidations are always enabled. Unfortunately the foreign tabs suggestion feature requires fresh SESSION data, and cannot live concurrently with the disabled SESSION invalidations optimization. Long term, if the foreign tabs suggestion feature shows to provide value for some users, these users will not be able to benefit from the disabling SESSION invalidations optimization. BUG=649881 ========== 
 Description was changed from ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests open pages that are currently open tabs on other devices, and more recent than a threshold (currently defaults to 3 hours). These suggestions show up on the NewTabPage (currently only on Android). These suggestions, however, rely on Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations results in quite stale data on Android devices, but they doesn't typically impact users. Foreign tabs are rarely used with previously existing UI surfaces, and SESSION invalidations are temporarily re-registered upon viewing the existing UI surfaces. Unfortunately, it does not make sense to temporarily register for SESSION invalidations upon opening the NewTabPage. This user action is very frequent, and would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client not know about open tabs on other devices, and suggestions not being made when you know they should. By forcing invalidations to be on for anyone that has the foreign tabs suggestion feature enabled, we are able to drastically improve the functionality of this feature, at the cost of some battery life (primarily caused from receiving invalidations when Chrome back-grounded). Users will typically see the most recent foreign tab data that has been committed, with a fairly low delay as a result of invalidation and GetUpdate call latency. Note that SESSION data is typically batched into ~10 second commits by the originating client, which will still be present. Note that we used the enabled-ness of the suggestions feature and the revisit feature when determining if we can disable SESSION invalidations, but revisit is currently at 0% everywhere. This also only changes SESSION invalidations, all other model types' invalidations are always enabled. Unfortunately the foreign tabs suggestion feature requires fresh SESSION data, and cannot live concurrently with the disabled SESSION invalidations optimization. Long term, if the foreign tabs suggestion feature shows to provide value for some users, these users will not be able to benefit from the disabling SESSION invalidations optimization. BUG=649881 ========== to ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests open pages that are currently open tabs on other devices and more recent than a threshold (currently defaults to 3 hours). These suggestions show up on the NewTabPage (currently only on Android). These suggestions really just display data from Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations typically doesn't harm Android users. SESSION data is only used on a few UI surfaces, and when those surfaces are loaded we temporarily re-register for SESSION invalidations. Unfortunately, this approach doesn't work very well here because visiting the NewTabPage is such a frequent user action. This would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client won't know about open tabs on other devices, and suggestions not being made when you know they should. By forcing invalidations to be on for anyone that has the foreign tabs suggestion feature enabled, it ensures we have fresh data and provide useful suggestions. The main cost is that we lose the battery life saving of the aforementioned optimization. BUG=649881 ========== 
 Description was changed from ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests open pages that are currently open tabs on other devices and more recent than a threshold (currently defaults to 3 hours). These suggestions show up on the NewTabPage (currently only on Android). These suggestions really just display data from Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations typically doesn't harm Android users. SESSION data is only used on a few UI surfaces, and when those surfaces are loaded we temporarily re-register for SESSION invalidations. Unfortunately, this approach doesn't work very well here because visiting the NewTabPage is such a frequent user action. This would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client won't know about open tabs on other devices, and suggestions not being made when you know they should. By forcing invalidations to be on for anyone that has the foreign tabs suggestion feature enabled, it ensures we have fresh data and provide useful suggestions. The main cost is that we lose the battery life saving of the aforementioned optimization. BUG=649881 ========== to ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests pages that are the most recent open tabs on other devices. These suggestions show up on the NewTabPage (currently only on Android). These suggestions really just display data from Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations typically doesn't harm Android users. SESSION data is only used on a few UI surfaces, and when those surfaces are loaded we temporarily re-register for SESSION invalidations. Unfortunately, this approach doesn't work very well here because visiting the NewTabPage is such a frequent user action. This would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client won't know about open tabs on other devices, and suggestions not being made when you know they should. This causes and inconsistent and less useful experience for the user. By forcing SESSION invalidations to on for anyone that has the foreign tabs suggestion feature enabled, it ensures we have fresh data and are able to suggestion the most value (most recent) pages. The main cost is that we lose the battery life saving of the aforementioned optimization. BUG=649881 ========== 
 Added a lot of words to CL description. 
 The CQ bit was checked by skym@chromium.org 
 CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or... 
 
            
              
                Message was sent while issue was closed.
              
            
             Description was changed from ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests pages that are the most recent open tabs on other devices. These suggestions show up on the NewTabPage (currently only on Android). These suggestions really just display data from Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations typically doesn't harm Android users. SESSION data is only used on a few UI surfaces, and when those surfaces are loaded we temporarily re-register for SESSION invalidations. Unfortunately, this approach doesn't work very well here because visiting the NewTabPage is such a frequent user action. This would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client won't know about open tabs on other devices, and suggestions not being made when you know they should. This causes and inconsistent and less useful experience for the user. By forcing SESSION invalidations to on for anyone that has the foreign tabs suggestion feature enabled, it ensures we have fresh data and are able to suggestion the most value (most recent) pages. The main cost is that we lose the battery life saving of the aforementioned optimization. BUG=649881 ========== to ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests pages that are the most recent open tabs on other devices. These suggestions show up on the NewTabPage (currently only on Android). These suggestions really just display data from Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations typically doesn't harm Android users. SESSION data is only used on a few UI surfaces, and when those surfaces are loaded we temporarily re-register for SESSION invalidations. Unfortunately, this approach doesn't work very well here because visiting the NewTabPage is such a frequent user action. This would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client won't know about open tabs on other devices, and suggestions not being made when you know they should. This causes and inconsistent and less useful experience for the user. By forcing SESSION invalidations to on for anyone that has the foreign tabs suggestion feature enabled, it ensures we have fresh data and are able to suggestion the most value (most recent) pages. The main cost is that we lose the battery life saving of the aforementioned optimization. BUG=649881 ========== 
 
            
              
                Message was sent while issue was closed.
              
            
             Committed patchset #1 (id:1) 
 
            
              
                Message was sent while issue was closed.
              
            
             Description was changed from ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests pages that are the most recent open tabs on other devices. These suggestions show up on the NewTabPage (currently only on Android). These suggestions really just display data from Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations typically doesn't harm Android users. SESSION data is only used on a few UI surfaces, and when those surfaces are loaded we temporarily re-register for SESSION invalidations. Unfortunately, this approach doesn't work very well here because visiting the NewTabPage is such a frequent user action. This would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client won't know about open tabs on other devices, and suggestions not being made when you know they should. This causes and inconsistent and less useful experience for the user. By forcing SESSION invalidations to on for anyone that has the foreign tabs suggestion feature enabled, it ensures we have fresh data and are able to suggestion the most value (most recent) pages. The main cost is that we lose the battery life saving of the aforementioned optimization. BUG=649881 ========== to ========== Force sessions invalidations on for Android clients with foreign tabs suggestions feature. When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests pages that are the most recent open tabs on other devices. These suggestions show up on the NewTabPage (currently only on Android). These suggestions really just display data from Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations typically doesn't harm Android users. SESSION data is only used on a few UI surfaces, and when those surfaces are loaded we temporarily re-register for SESSION invalidations. Unfortunately, this approach doesn't work very well here because visiting the NewTabPage is such a frequent user action. This would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client won't know about open tabs on other devices, and suggestions not being made when you know they should. This causes and inconsistent and less useful experience for the user. By forcing SESSION invalidations to on for anyone that has the foreign tabs suggestion feature enabled, it ensures we have fresh data and are able to suggestion the most value (most recent) pages. The main cost is that we lose the battery life saving of the aforementioned optimization. BUG=649881 Committed: https://crrev.com/0b0d32497cd7d2e19bee336cfc89d048bfc59de6 Cr-Commit-Position: refs/heads/master@{#430362} ========== 
 
            
              
                Message was sent while issue was closed.
              
            
             Patchset 1 (id:??) landed as https://crrev.com/0b0d32497cd7d2e19bee336cfc89d048bfc59de6 Cr-Commit-Position: refs/heads/master@{#430362} | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
