blob: fe27408eb4e3892159c5d679c590c20c6a4ef8e6 [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.exception;
import com.cloud.agent.api.Command;
import com.cloud.utils.SerialVersionUID;
/**
* wait timeout.
*/
public class OperationTimedoutException extends CloudException {
private static final long serialVersionUID = SerialVersionUID.OperationTimedoutException;
long _agentId;
long _seqId;
int _time;
// TODO
// I did a reference search on usage of getCommands() and found none
//
// to prevent serialization problems across boundaries, I'm disabling serialization of _cmds here
// getCommands() will still be available within the same serialization boundary, but it will be lost
// when exception is propagated across job boundaries.
//
transient Command[] _cmds;
boolean _isActive;
public OperationTimedoutException(Command[] cmds, long agentId, long seqId, int time, boolean isActive) {
super("Commands " + seqId + " to Host " + agentId + " timed out after " + time);
_agentId = agentId;
_seqId = seqId;
_time = time;
_cmds = cmds;
_isActive = isActive;
}
public long getAgentId() {
return _agentId;
}
public long getSequenceId() {
return _seqId;
}
public int getWaitTime() {
return _time;
}
public Command[] getCommands() {
return _cmds;
}
public boolean isActive() {
return _isActive;
}
}