mirror of https://github.com/apache/lucene.git
SOLR-4296: Admin UI: Improve Dataimport Auto-Refresh
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1432346 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
83fe02894f
commit
8559a93b65
|
@ -250,6 +250,8 @@ Optimizations
|
||||||
|
|
||||||
* SOLR-3982: Admin UI: Various Dataimport Improvements (steffkes)
|
* SOLR-3982: Admin UI: Various Dataimport Improvements (steffkes)
|
||||||
|
|
||||||
|
* SOLR-4296: Admin UI: Improve Dataimport Auto-Refresh (steffkes)
|
||||||
|
|
||||||
Bug Fixes
|
Bug Fixes
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
|
|
@ -139,14 +139,14 @@
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content #dataimport #current_state .time,
|
#content #dataimport #current_state .last_update,
|
||||||
#content #dataimport #current_state .info
|
#content #dataimport #current_state .info
|
||||||
{
|
{
|
||||||
display: block;
|
display: block;
|
||||||
padding-left: 21px;
|
padding-left: 21px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content #dataimport #current_state .time
|
#content #dataimport #current_state .last_update
|
||||||
{
|
{
|
||||||
color: #c0c0c0;
|
color: #c0c0c0;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
|
|
|
@ -431,7 +431,6 @@ sammy.get
|
||||||
success : function( response, text_status, xhr )
|
success : function( response, text_status, xhr )
|
||||||
{
|
{
|
||||||
var state_element = $( '#current_state', content_element );
|
var state_element = $( '#current_state', content_element );
|
||||||
var time_element = $( '.time', state_element );
|
|
||||||
|
|
||||||
var status = response.status;
|
var status = response.status;
|
||||||
var rollback_time = response.statusMessages.Rolledback || null;
|
var rollback_time = response.statusMessages.Rolledback || null;
|
||||||
|
@ -448,30 +447,64 @@ sammy.get
|
||||||
|
|
||||||
function dataimport_compute_details( response, details_element, elapsed_seconds )
|
function dataimport_compute_details( response, details_element, elapsed_seconds )
|
||||||
{
|
{
|
||||||
var config = {
|
details_element
|
||||||
|
.show();
|
||||||
|
|
||||||
|
// --
|
||||||
|
|
||||||
|
var document_config = {
|
||||||
'Requests' : 'Total Requests made to DataSource',
|
'Requests' : 'Total Requests made to DataSource',
|
||||||
'Fetched' : 'Total Rows Fetched',
|
'Fetched' : 'Total Rows Fetched',
|
||||||
'Skipped' : 'Total Documents Skipped',
|
'Skipped' : 'Total Documents Skipped',
|
||||||
'Processed' : 'Total Documents Processed'
|
'Processed' : 'Total Documents Processed'
|
||||||
};
|
};
|
||||||
|
|
||||||
var details = [];
|
var document_details = [];
|
||||||
for( var key in config )
|
for( var key in document_config )
|
||||||
{
|
{
|
||||||
var value = parseInt( response.statusMessages[config[key]], 10 );
|
var value = parseInt( response.statusMessages[document_config[key]], 10 );
|
||||||
|
|
||||||
var detail = '<abbr title="' + config[key].esc() + '">' + key.esc() + '</abbr>: ' + format_number( value ).esc();
|
var detail = '<abbr title="' + document_config[key].esc() + '">' + key.esc() + '</abbr>: ' + format_number( value ).esc();
|
||||||
if( elapsed_seconds && 'skipped' !== key.toLowerCase() )
|
if( elapsed_seconds && 'skipped' !== key.toLowerCase() )
|
||||||
{
|
{
|
||||||
detail += ' <span>(' + format_number( Math.round( value / elapsed_seconds ) ).esc() + '/s)</span>'
|
detail += ' <span>(' + format_number( Math.round( value / elapsed_seconds ) ).esc() + '/s)</span>'
|
||||||
}
|
}
|
||||||
|
|
||||||
details.push( detail );
|
document_details.push( detail );
|
||||||
};
|
};
|
||||||
|
|
||||||
details_element
|
$( '.docs', details_element )
|
||||||
.html( details.join( ', ' ) )
|
.html( document_details.join( ', ' ) );
|
||||||
.show();
|
|
||||||
|
// --
|
||||||
|
|
||||||
|
var dates_config = {
|
||||||
|
'Started' : 'Full Dump Started',
|
||||||
|
'Aborted' : 'Aborted',
|
||||||
|
'Rolledback' : 'Rolledback'
|
||||||
|
};
|
||||||
|
|
||||||
|
var dates_details = [];
|
||||||
|
for( var key in dates_config )
|
||||||
|
{
|
||||||
|
var value = response.statusMessages[dates_config[key]];
|
||||||
|
|
||||||
|
if( value )
|
||||||
|
{
|
||||||
|
var detail = '<abbr title="' + dates_config[key].esc() + '">' + key.esc() + '</abbr>: '
|
||||||
|
+ '<abbr class="time">' + value.esc() + '</abbr>';
|
||||||
|
dates_details.push( detail );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var dates_element = $( '.dates', details_element );
|
||||||
|
|
||||||
|
dates_element
|
||||||
|
.html( dates_details.join( ', ' ) );
|
||||||
|
|
||||||
|
$( '.time', dates_element )
|
||||||
|
.removeData( 'timeago' )
|
||||||
|
.timeago();
|
||||||
};
|
};
|
||||||
|
|
||||||
var get_time_taken = function get_default_time_taken()
|
var get_time_taken = function get_default_time_taken()
|
||||||
|
@ -524,21 +557,13 @@ sammy.get
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
var set_time = function set_time( time_text )
|
|
||||||
{
|
|
||||||
time_element
|
|
||||||
.text( time_text )
|
|
||||||
.removeData( 'timeago' )
|
|
||||||
.timeago()
|
|
||||||
.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
state_element
|
state_element
|
||||||
.removeAttr( 'class' );
|
.removeAttr( 'class' );
|
||||||
|
|
||||||
time_element
|
var current_time = new Date();
|
||||||
.empty()
|
$( '.last_update abbr', state_element )
|
||||||
.hide();
|
.text( current_time.toTimeString().split( ' ' ).shift() )
|
||||||
|
.attr( 'title', current_time.toUTCString() );
|
||||||
|
|
||||||
$( '.info', state_element )
|
$( '.info', state_element )
|
||||||
.removeClass( 'loader' );
|
.removeClass( 'loader' );
|
||||||
|
@ -563,26 +588,12 @@ sammy.get
|
||||||
: 'Indexing ...';
|
: 'Indexing ...';
|
||||||
|
|
||||||
show_full_info( info_text, elapsed_seconds );
|
show_full_info( info_text, elapsed_seconds );
|
||||||
|
|
||||||
if( !app.timeout && autorefresh_status )
|
|
||||||
{
|
|
||||||
app.timeout = window.setTimeout
|
|
||||||
(
|
|
||||||
function()
|
|
||||||
{
|
|
||||||
dataimport_fetch_status( true )
|
|
||||||
},
|
|
||||||
dataimport_timeout
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if( rollback_time )
|
else if( rollback_time )
|
||||||
{
|
{
|
||||||
state_element
|
state_element
|
||||||
.addClass( 'failure' );
|
.addClass( 'failure' );
|
||||||
|
|
||||||
set_time( rollback_time );
|
|
||||||
|
|
||||||
show_full_info();
|
show_full_info();
|
||||||
}
|
}
|
||||||
else if( abort_time )
|
else if( abort_time )
|
||||||
|
@ -590,8 +601,6 @@ sammy.get
|
||||||
state_element
|
state_element
|
||||||
.addClass( 'aborted' );
|
.addClass( 'aborted' );
|
||||||
|
|
||||||
set_time( abort_time );
|
|
||||||
|
|
||||||
show_full_info( 'Aborting current Import ...' );
|
show_full_info( 'Aborting current Import ...' );
|
||||||
}
|
}
|
||||||
else if( 'idle' === status && 0 !== messages_count )
|
else if( 'idle' === status && 0 !== messages_count )
|
||||||
|
@ -599,12 +608,6 @@ sammy.get
|
||||||
state_element
|
state_element
|
||||||
.addClass( 'success' );
|
.addClass( 'success' );
|
||||||
|
|
||||||
var started_at = response.statusMessages['Full Dump Started'];
|
|
||||||
if( started_at )
|
|
||||||
{
|
|
||||||
set_time( started_at );
|
|
||||||
}
|
|
||||||
|
|
||||||
show_full_info();
|
show_full_info();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -625,6 +628,18 @@ sammy.get
|
||||||
|
|
||||||
$( '#raw_output_container', content_element ).html( code );
|
$( '#raw_output_container', content_element ).html( code );
|
||||||
hljs.highlightBlock( code.get(0) );
|
hljs.highlightBlock( code.get(0) );
|
||||||
|
|
||||||
|
if( !app.timeout && autorefresh_status )
|
||||||
|
{
|
||||||
|
app.timeout = window.setTimeout
|
||||||
|
(
|
||||||
|
function()
|
||||||
|
{
|
||||||
|
dataimport_fetch_status( true )
|
||||||
|
},
|
||||||
|
dataimport_timeout
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
error : function( xhr, text_status, error_thrown )
|
error : function( xhr, text_status, error_thrown )
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,11 +22,14 @@ limitations under the License.
|
||||||
|
|
||||||
<div id="current_state">
|
<div id="current_state">
|
||||||
|
|
||||||
<span class="time"></span>
|
<p class="last_update">Last Update: <abbr>Unknown</abbr></p>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
|
|
||||||
<strong></strong>
|
<strong></strong>
|
||||||
<div class="details"></div>
|
<div class="details">
|
||||||
|
<div class="docs"></div>
|
||||||
|
<div class="dates"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<button class="abort-import warn"><span data-aborting="Aborting Import">Abort Import</span></button>
|
<button class="abort-import warn"><span data-aborting="Aborting Import">Abort Import</span></button>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue