             @listenTo @model, 'change:num_available_replicas', @render_status
 
             @progress_bar = new UIComponents.OperationProgressBar @template.status
-            @interval = null
+            @timer = null
 
             window.foo = @
 

        fetch_progress: =>
            #Keep ignore in window?
            #We also fetch shards
            ignore = (shard) -> shard('role').ne('nothing')
            query =
                r.db(system_db).table('table_status').get(@model.get('uuid')).do( (table) ->
                    r.branch(
                        table.eq(null),
                        null,
                        table.merge(
                            num_replicas: table("shards").concatMap( (shard) -> shard ).filter(ignore).count()
                            num_available_replicas: table("shards").concatMap( (shard) -> shard ).filter(ignore).filter({state: "ready"}).count()
                            num_shards: table("shards").count()
                            num_available_shards: table("shards").concatMap( (shard) -> shard ).filter({role: "director", state: "ready"}).count()
                        )
                    )
                )

            driver.run query, (error, result) =>
                if error?

        render_status: =>
            #TODO Handle backfilling when available on the API
            if @model.get('num_available_replicas') < @model.get('num_replicas')
                if not @timer?
                    ignore = (shard) -> shard('role').ne('nothing')
                    query =
                        r.db(system_db).table('table_status').get(@model.get('uuid')).do( (table) ->
                            r.branch(
                                table.eq(null),
                                null,
                                table.merge(
                                    num_replicas: table("shards").concatMap( (shard) -> shard ).filter(ignore).count()
                                    num_available_replicas: table("shards").concatMap( (shard) -> shard ).filter(ignore).filter({state: "ready"}).count()
                                    num_shards: table("shards").count()
                                    num_available_shards: table("shards").concatMap( (shard) -> shard ).filter({role: "director", state: "ready"}).count()
                                )
                            )
                        )

                    @timer = driver.run query, 1000, (error, result) =>
                        if error?
                            # This can happen if the table is temporary unavailable. We log the error, and ignore it
                            console.log "Nothing bad - Could not fetch replicas statuses"
                            console.log error
                        else
                            @model.set result
                            @render_status() # Force to refresh the progress bar

                if @progress_bar.get_stage() is 'none'
                    @progress_bar.skip_to_processing() # if the stage is 'none', we skipt to processing
            else if @model.get('num_available_replicas') is @model.get('num_replicas')
                if @timer?
                    driver.stop_timer @timer
                    @timer = null


            progress_bar_info =
